力扣 021 合併兩個有序鍊錶

2021-09-29 21:02:50 字數 1380 閱讀 5199

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。

示例:輸入:1->2->4, 1->3->4

輸出:1->1->2->3->4->4

class

solution

:def

mergetwolists

(self, l1: listnode, l2: listnode)

-> listnode:

tmp=listnode(

none

) cur=tmp

#兩個表頭都不為空時,比較兩者的val的大小;類似並歸排序。

while

(l1!=

none

and l2!=

none):

if l1.valcur.

next

=l1 l1=l1.

next

else

: cur.

next

=l2 l2=l2.

next

cur = cur.

next

#兩者有任一為空,返回另乙個的表頭。

if l1==

none

: cur.

next

=l2 else

:cur.

next

=l1 return tmp.

next

執行用時 :36 ms, 在所有 python3 提交中擊敗了99.46%的使用者

class

solution

:def

mergetwolists

(self, l1: listnode, l2: listnode)

-> listnode:

head=listnode(

none

) tp=head

while l1 and l2:

if l1.val<=l2.val:

tp.next

=l1 l1=l1.

next

else

: tp.

next

=l2 l2=l2.

next

tp=tp.

next

tp.next

=l1 if l1 else l2

return head.

next

力扣合併兩個有序鍊錶

合併兩個有序鍊錶 將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 1.思路 建立乙個新列表xin,同時遍歷兩個鍊錶l1,l2,比較大小,小的加到新的列表中去,然後知道其中乙個遍歷完,最後再把...

力扣 合併兩個有序鍊錶

將兩個公升序鍊錶合併為乙個新的 公升序 鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4輸出 1 1 2 3 4 4迭代法 definition for singly linked list.struct listnode listnode int x ...

力扣 21 合併兩個有序鍊錶

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 definition for singly linked list.struct listnode struct listnode merge...