问题描述:
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
思路分析:
不断对两个链表当前头指针所指向的元素值进行比较,
小的接入合并链表尾部,头指针后移一位,该元素的next域改为空,直到有一个链表遍历完,
再将有剩余的链表合并到链表尾部即可完成。
python语言代码实现如下:
# -*- 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
p = s = ListNode(0)
while pHead1 != None and pHead2 != None:
if pHead1.val <= pHead2.val:
p.next = pHead1
pHead1 = pHead1.next
else:
p.next = pHead2
pHead2 = pHead2.next
p = p.next
if pHead1:
p.next = pHead1
elif pHead2:
p.next = pHead2
return s.next