剑指offer python版 25.合并排序的两个链表

class ListNode:
    def __init__(self, x):
        self.val = x
        self.next = None

class Solution:
    def Merge(self, pHead1, pHead2):
        if pHead1 is None:
            return pHead2
        if pHead2 is 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 pMergedHead

if __name__ =="__main__":
    node1 = ListNode(1)
    node2 = ListNode(3)
    node3 = ListNode(5)

    node4 = ListNode(2)
    node5 = ListNode(4)
    node6 = ListNode(6)

    node1.next = node2
    node2.next = node3

    node4.next = node5
    node5.next = node6

    s = Solution()
    print(s.Merge(node1, node4).val)
    print(node4.next.val)

你可能感兴趣的:(剑指offer python版 25.合并排序的两个链表)