剑指offer 之 合并两个排序的链表

来源:互联网 发布:js focus自动获取焦点 编辑:程序博客网 时间:2024/05/16 15:56
# -*- coding:utf-8 -*-'''面试题17:合并两个排序的链表输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。基本思路:递归'''class ListNode:    def __init__(self, x):        self.val = x        self.next = Noneclass Solution:    # 返回合并后列表    def Merge(self, pHead1, pHead2):        # write code here        if pHead1 == None:        return pHead2        elif pHead2 == None:        return pHead1        pMergedHead = None        if pHead1.val < pHead2.val:        pMergedHead = pHead1        pMergedHead.next = self.Merge(pHead1.next, pHead2)        else:        pMergedHead = pHead2        pMergedHead.next = self.Merge(pHead1, pHead2.next)        return pMergedHeadnode1 = ListNode(1)node2 = ListNode(3)node3 = ListNode(5)node1.next = node2node2.next = node3node4 = ListNode(2)node5 = ListNode(4)node6 = ListNode(6)node4.next = node5node5.next = node6S = Solution()S.Merge(node1, node4)print(node3.next.val)


原创粉丝点击