lc21 合併兩個有序鍊錶

2021-10-13 05:28:05 字數 620 閱讀 7511

給出兩個排好序的單向鍊錶,返回合併排序後新的單向鍊錶

新建 哨兵節點 dummy 然後進行先行合併即可。

新建頭部的保護結點 dummy,設定 cur 指標指向 dummy。

若當前 l1 指標指向的結點的值 val 比 l2 指標指向的結點的值 val 小,則令 cur 的 next 指標指向 l1,且 l1 後移;否則指向 l2,且 l2 後移。

然後 cur 指標按照上一部設定好的位置後移。

迴圈以上步驟直到 l1 或 l2 為空。

將剩餘的 l1 或 l2 接到 cur 指標後邊。

class

solution

else

cur = cur -

> next;

} cur -

> next =

(l1 !=

null

? l1 : l2)

;// 如果 其中有乙個鍊錶空了

return dummy -

> next;

```}

};

題目高階

leetcode 23 合併k個有序鍊錶

leetcode 1669 合併兩個鍊錶

Lc21 合併兩個有序鍊錶

package homework import homework.lc19.listnode 21.合併兩個有序鍊錶 將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 public class...

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...