給出兩個排好序的單向鍊錶,返回合併排序後新的單向鍊錶
新建 哨兵節點 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...