思路:
1.新建两个链表mergeHead和p,初始值为90。
2.判断pHead1.val和pHead2.val值的关系。
若pHead1.val>=pHead2.val,将pHead2放入mergeHead.next 然后pHead2指针往后移一步。
若pHead1.val<pHead2.val,将pHead1放入mergeHead.next 然后pHead1指针往后移一步。
最后mergeHead指针往后移一步。继续循环直到pHead1和pHead2有一个为空就结束。
3.再依次判断pHead1和pHead2是否为空,若没有则添加到mergeHead里。最终返回p.next。
# -*- 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
mergeHead = ListNode(90)
p = mergeHead
while pHead1 and pHead2:
if pHead1.val >= pHead2.val:
mergeHead.next = pHead2
pHead2 = pHead2.next
else:
mergeHead.next = pHead1
pHead1 = pHead1.next
mergeHead = mergeHead.next
if pHead1:
mergeHead.next = pHead1
elif pHead2:
mergeHead.next = pHead2
return p.next