题解 | #合并两个排序的链表#

合并两个排序的链表

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之后的节点全部输出
全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务