题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # 返回合并后列表 def Merge(self, pHead1, pHead2): # write code here a=ListNode(0) #需要一个新链表 b=a while pHead1 and pHead2: #当两个链表内都有节点时,进入循环,进行比较 if pHead1.val >= pHead2.val: a.next=pHead2 #当链表1的元素大于链表2中的元素时,a的下一个节点指向链表2 pHead2=pHead2.next #列表2向后移动一位,因为链表2的第二个元素也可能比链表1的第一个元素小 else: #当链表1的元素小于链表2的时候 a.next=pHead1 pHead1=pHead1.next a=a.next #a链表有第一个节点,移动到第二个节点位置,继续循环 if pHead1: #上面循环是两个链表中同位置的节点都有,下面要考虑剩下的节点也要添加对新的链表当中 a.next=pHead1 if pHead2: a.next=pHead2 return b.next