# -*- 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
if pHead1 is None: #首先考虑极端的特殊情况
return pHead2
if pHead2 is None:
return pHead1
pMergeHead = None
if pHead1.val<pHead2.val:
pMergeHead = pHead1
pMergeHead.next = self.Merge(pHead1.next,pHead2) #这里递归的时候方法的调用依然要用类实例.方法,而类中的self就是指类实例
else:
pMergeHead = pHead2
pMergeHead.next = self.Merge(pHead2.next,pHead1)
return pMergeHead #递归的输出是两个链表排序合并后的列表的指针(就是这个链表)