题解 | #合并两个排序的链表#

合并两个排序的链表

https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337

用cur指针来移动比较,串起排好序的链表。注意前面要记得记录一下链表初始位置(用result来记录),后面才好返回。

# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param pHead1 ListNode类 
# @param pHead2 ListNode类 
# @return ListNode类
#
class Solution:
    def Merge(self , pHead1: ListNode, pHead2: ListNode) -> ListNode:
        cur=ListNode(-1)
        result=cur#用cur移动;用result记录头,不然后面没法返回       
        while pHead1 and pHead2:#两个链表都非空时进入循环
            if pHead1.val<=pHead2.val:
                cur.next=pHead1#cur.next连pHead1
                cur=cur.next#更新cur
                pHead1=pHead1.next#那么pHead1可以往下走了
            else:
                cur.next=pHead2
                cur=cur.next
                pHead2=pHead2.next
        #循环结束后还有链表非空,拼接未对比的链表
        if pHead1:
            cur.next=pHead1
        else:
            cur.next=pHead2

        return result.next
全部评论

相关推荐

点赞 评论 收藏
分享
asdasdasda...:19岁,不容易啊可能升个本会好点,现在学历歧视太严重了
点赞 评论 收藏
分享
06-12 17:46
门头沟学院 Java
运营你豪哥:来说重点: ​1.项目前置,时间倒序。​​ 2.​项目描述强化结果与量化效果(STAR原则里的R)。​​ ​3.个人技能精炼,明确掌握程度,突出核心。​​ ​4.增加强有力开头的个人总结部分。​​ 5.​优化教育背景(成绩排名)、合并奖项与活动。​​
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务