Task32(簡單)鍊錶 21合併兩個有序鍊錶

2021-09-27 08:26:42 字數 606 閱讀 6889

21.合併兩個有序鍊錶

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

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

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

思路:依次比較兩個有序鍊錶的結點值,將較小值的結點插入到新鍊錶後面。直到其中乙個比較完畢,將另乙個鍊錶剩餘的結點全部放到新鍊錶最後面即可。最後,返回第乙個結點指標。
class solution:

def mergetwolists(self, l1: listnode, l2: listnode) -> listnode:

res = listnode(none)

node = res

while l1 and l2:

if l1.valnode.next,l1 = l1,l1.next

else:

node.next,l2 = l2,l2.next

node = node.next

if l1:

node.next = l1

else:

node.next = l2

return res.next

21 合併兩個有序鍊錶 簡單

菜鳥解答 definition for singly linked list.struct listnode struct listnode mergetwolists struct listnode l1,struct listnode l2 else scan tmp scan tmp next...

leetcode 簡單 21 合併兩個有序鍊錶

思路一 遞迴 definition for singly linked list.class listnode def init self,val 0,next none self.val val self.next next class solution def mergetwolists sel...

鍊錶 21 合併兩個有序鍊錶

題目 將兩個公升序鍊錶合併為乙個新的公升序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 解體方法 暴力法和遞迴 暴力法思路 首先鍊錶這種資料結構是乙個只能從頭訪問的,本題中,因為兩個鍊錶中的頭節點都要先進行比較之後才能確...