題目:
思路+代碼:
class Solution:
# 思路:
1.當l1和l2同時存在時,初始化合成新鏈表的空指針,通過逐個判斷l1和l2的大小,同時移動指針指向較小的節點
2.當有一個鏈表爲空時,將另一個鏈表連接在指針下面
def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:
cur = dummy = ListNode(0)
while l1 and l2:
if l1.val < l2.val:
cur.next, l1 = l1, l1.next
else:
cur.next, l2 = l2, l2.next
cur = cur.next
cur.next = l1 if l1 else l2
return dummy.next
備註:有個小疑問,l1和l2不是兩個獨立的鏈表嗎,爲什麼能夠這樣用一個指針兩邊指,就說是合成了新鏈表;我的理解應該是要新建節點,連接節點?