剑指offer–合并两个排序的链表
一、前言
最近开始刷剑指offer,记录一下。牛客网在线编程板块的剑指offer专区。 牛客网剑指offer:传送门 或者点击下方链接。 https://www.nowcoder.com/ta/coding-interviews
二、题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
三、代码
class Solution:
def Merge(self
, pHead1
, pHead2
):
if pHead1
== None:
return pHead2
if pHead2
== None:
return pHead1
newHead
= pHead1
if pHead1
.val
< pHead2
.val
else pHead2
pTmp1
= pHead1
pTmp2
= pHead2
if newHead
== pTmp1
:
pTmp1
=pTmp1
.next
else:
pTmp2
=pTmp2
.next
previousPoint
=newHead
while pTmp1
and pTmp2
:
if pTmp1
.val
< pTmp2
.val
:
previousPoint
.next = pTmp1
previousPoint
=pTmp1
pTmp1
=pTmp1
.next
else:
previousPoint
.next = pTmp2
previousPoint
=pTmp2
pTmp2
=pTmp2
.next
if pTmp1
== None:
previousPoint
.next = pTmp2
else:
previousPoint
.next= pTmp1
return newHead