剑指16-合并两个排序的链表

题目描述

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。


  • 首先一个辅助节点ListNode(0)
  • 以及,两个指针,一个用来返回合成后的链表的表头,一个用来辅助合成链表。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution:
# 返回合并后列表
def Merge(self, pHead1, pHead2):
pTemp = ListNode(0)
p = pTemp

while True:
if not pHead1:
pTemp.next = pHead2
return p.next
elif not pHead2:
pTemp.next = pHead1
return p.next
if pHead1.val < pHead2.val:
pTemp.next = pHead1
pTemp = pHead1
pHead1 = pHead1.next
else:
pTemp.next = pHead2
pTemp = pHead2
pHead2 = pHead2.next