題目:將兩個有序鍊錶合併為乙個新的有序鍊錶並返回
法:和合併兩個有序陣列一樣的思路,都是用兩個指標p與q分別指向兩個鍊錶的頭節點,注意每次不讓鍊錶斷掉即可
def mergetwolists(self, l1, l2):
""":type l1: listnode
:type l2: listnode
:rtype: listnode
"""if l1==none:return l2
if l2==none:return l1
p,q=l1,l2
res=listnode(0)
tmp=res
while p!=none and q!=none:
if p.val<=q.val:
tmp.next=p
p=p.next
else:
tmp.next=q
q=q.next
tmp=tmp.next
if p:tmp.next=p
elif q:tmp.next=q
return res.next
21 合併兩個有序鍊錶
將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 原本想的是用19題的結構陣列那種方法來做 分別遍歷兩個鍊錶,建立結構儲存原始索引,val和指標,氣泡排序這個結構,更新索引,按照索引建立新的n...
21 合併兩個有序鍊錶
合併兩個有序鍊錶 將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4輸出 1 1 2 3 4 4比較簡單,比較大小,重新排序即可。created by hints on 2019 1 9.include using name...
21 合併兩個有序鍊錶
將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4先確定合併鍊錶第乙個節點 在迴圈中同時遍歷兩個鍊錶,將後面其餘節點逐次比較,依大小次序連線到首節點之後,迴圈結束後可能有乙個鍊錶未遍歷完,將這個鍊錶剩...