將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。
示例:輸入: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...