合并两个排序的链表(python)
题目
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
思路
由于两个链表都是递增的,所以每次共同比较两个链表中最小的值,把比较小的值插入到新的链表中,一直循环,直到某个链表为空,再把另外一个不为空的链表插入到新的链表中。
代码
class Solution:
# 返回合并后列表
def Merge(self, pHead1, pHead2):
# write code here
#初始化一个节点值为0的空节点
pHead = ListNode(0)
#把pHead的指向用temp保存下来
temp = pHead
while pHead1 and pHead2:
if pHead1.val <= pHead2.val:
pHead.next = pHead1
pHead = pHead.next
pHead1 = pHead1.next
else:
pHead.next = pHead2
pHead = pHead.next
pHead2 = pHead2.next
if pHead1 == None:
pHead.next = pHead2
if pHead2 == None:
pHead.next = pHead1
return temp.next