一、问题分析
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。如输入{1,3,5},{2,4,6},输出{1,2,3,4,5,6}
首先比较两个链表的头节点,如果表1的头节点更小,那么就固定表1的头节点,接下来关注表1的next部分;
表1的next部分的头节点继续和表2的头节点进行比较(出现了递归),如果表1的next部分的头节点更小,则固定它,接下来关注其余next部分;
二、代码实现:
class Solution: # 返回合并后列表 def Merge(self, pHead1, pHead2): # write code here if pHead1 is None: return pHead2 if pHead2 is None: return pHead1 if pHead1.val < pHead2.val: pHead1.next = self.Merge(pHead1.next,pHead2) return pHead1 else: pHead2.next = self.Merge(pHead1,pHead2.next) return pHead2