將兩個公升序鍊錶合併為乙個新的 公升序 鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。
示例:
輸入:1
->2-
>4,
1->3-
>
4輸出:1
->1-
>2-
>3-
>4-
>
4
迭代法:
/**
* definition for singly-linked list.
* struct listnode
* listnode(int x) : val(x), next(nullptr) {}
* listnode(int x, listnode *next) : val(x), next(next) {}
* };
*/class
solution
else
dummy = dummy-
>next;
} dummy-
>next = l1!=
nullptr
?l1:l2;
return res-
>next;}}
;
遞迴法:
選擇l1和l2中小的乙個進行遞迴,然後合併。
class
solution
else
if(l2 ==
nullptr
)else
if(l1-
>val < l2-
>val)
else}}
;
力扣合併兩個有序鍊錶
合併兩個有序鍊錶 將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 1.思路 建立乙個新列表xin,同時遍歷兩個鍊錶l1,l2,比較大小,小的加到新的列表中去,然後知道其中乙個遍歷完,最後再把...
力扣 21 合併兩個有序鍊錶
將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 definition for singly linked list.struct listnode struct listnode merge...
合併兩個有序鍊錶 力扣 LeetCode
描述將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 方法一 正常遍歷public listnode mergetwolists listnode l1,listnode l2 else if...