LeetCode 筆記 - 21. Merge Two Sorted Lists
介紹合併兩個排序鏈結串列 (Linked List) 的基本解法。本文運用雙指標法搭配虛擬頭節點 (Dummy Head) 技巧,簡化合併邏輯並保持結果的排序特性,是初學者掌握鏈結串列操作的必備經典題目。
題目在此 21. Merge Two Sorted Lists
給定兩個排序過的鏈結串列,請將它們合併成一個新的排序鏈結串列,並且回傳新的鏈結串列。
解題思維
這題的解法很直觀,因為兩個鏈結串列都是排序過的,所以我們可以使用雙指標法,一個指標 node1 用來遍歷 list1,另一個指標 node2 用來遍歷 list2。
藉由建立一個 dummy 節點來簡化邏輯,並且使用一個指標 cur_node 來記錄目前合併後的鏈結串列的最後一個節點。
剩下的就是比較 node1 和 node2 的值,將較小的節點接到 cur_node.next,並且移動對應的指標。
程式碼
1 | # Definition for singly-linked list. |