Leetcode 每日打卡20200917

2021-10-09 13:32:01 字數 1516 閱讀 4631

輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的節點仍然是遞增排序的。

示例1:

輸入:1

->2-

>4,

1->3-

>

4輸出:1

->1-

>2-

>3-

>4-

>

4限制:

0<= 鍊錶長度 <=

1000

class

solution

if(l2 == null)

listnode res =

newlistnode(0

);listnode cur = res;

while

(l1 != null && l2 != null)

else

cur = cur.next;

}//如果長度不相等的情況

if(l1 != null)

if(l2 != null)

return res.next;

}}

class

solution

if(l2 == null)

listnode res = l1.val < l2.val ? l1 : l2;

res.next =

mergetwolists

(res.next, l1.val >= l2.val ? l1 : l2)

;return res;

}}

給定乙個整數,編寫乙個函式來判斷它是否是 2 的冪次方。

示例 1

:輸入:

1輸出:

true

解釋:20=1

示例 2

:輸入:

16輸出:

true

解釋:24=16

示例 3

:輸入:

218輸出:

false

class

solution

return

(n &

(n -1)

)==0;

}}

class

solution

; edge2=pair;

}else

else}}

if(edge1!=null&&edge2!=null)

return lastedgecausecircle==null?edge2:edge1;

//如果是情況2、3,則根據有沒有碰到環返回 edge1 或 edge2

else

return lastedgecausecircle;

//否則就是情況1,返回那個導致環的最後出現的邊。

}private

intfind

(int node)

}

Leetcode 每日打卡20200918

給定乙個可包含重複數字的序列,返回所有不重複的全排列。示例 輸入 1 1,2 輸出 1,1,2 1,2,1 2,1,1 class solution private void dfs int nums,int cur set.add list else private void swap int n...

Leetcode每日一題打卡

原題 根據棧先進後出和佇列先進先出的不同特點予以以下實現,使用棧s1記錄佇列尾部元素,每次插入操作可以直接壓入棧s1中 在刪除元素時,為了刪除頭部元素,使用棧s2維護頭部元素。當s2不為空時,直接彈出棧頂元素即可。當s2為空時,就將s1中元素一次彈出而後壓入s2中,實現順序的反轉,s2棧頂元素就是佇...

LeetCode 每日 1 題 打卡刷題計畫

活動頁面 佇列 隊首出,隊尾進 先進先出 queue 的基本操作有 q.push x 隊尾 d.push back x 隊尾 d.push front x 隊首 q.pop d.pop back d.pop front struct listnode vector操作push back 在陣列的最後...