力扣 合併兩個有序鍊錶

2021-10-09 09:35:51 字數 927 閱讀 2916

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

示例:

輸入: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...