题解 | #合并两个排序的链表#
合并两个排序的链表
http://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337
思路:(1)将两个链表合并;
(2)将链表中的数值提取到一个列表当中,并使用sort()按递增进行排序;
(3)按照列表重建节点,链表,返回新建的链表
代码:
class Solution:
def Merge(self, pHead1, pHead2): # write code here cur1=pHead1 #return cur1 if cur1==None: if pHead2==None: return cur1 else: pHead1=pHead2 else: while cur1.next!=None: cur1=cur1.next cur1.next=pHead2 #rc:以上代码实现两个链表的合并操作 li=[] cur2=pHead1 while cur2!=None: li.append(cur2.val) cur2=cur2.next li.sort() for i in range(len(li)): li[i]=ListNode(li[i]) for i in range(len(li)): if i<(len(li)-1): li[i].next=li[i+1] else: li[i].next=None return li[0] #rc:实际上类似是cur1.travel,将cur1之后的节点全部输出