敘述
這是 Data Structure I
的第八天第二個題目,總共有三題。
- 難度:
Easy
- 花費時間: 3小時
- 題目
傳入兩個 Linked List
的 head , Merge 這兩個 Linked List
到一個 Sorted Linked list
然後回傳 Sorted Linked list
的 head 。
點我開啟限制與範例
限制:
- The number of nodes in both lists is in the range
[0, 50]
. -100 <= Node.val <= 100
- Both
list1
andlist2
are sorted in non-decreasing order.
Example 1:
1 | Input: list1 = [1,2,4], list2 = [1,3,4] |
Example 2:
1 | Input: list1 = [], list2 = [] |
Example 3:
1 | Input: list1 = [], list2 = [0] |
筆記
Java In-place iteration
使用 Java 寫的版本,差別在更易懂,且是 In-place
使用四個指針:
head
: 指向答案list
的開頭,方便等等回傳答案。nextNode
: 指向現在要合併的節點。
TypeScript Merge-list iteration
這是第一次寫這個題目時寫出來的,宣告了多餘的
Merge-list
限制裡有一行寫著 (Both list1
and list2
are sorted in non-decreasing order.) ,所以我會使用 Merge Sort
,做出自己的 Sorted Linked list
後回傳。
TypeScript
// class ListNode { |