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

合并两个排序的链表

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

# 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:
            # 创建一个哑节点作为新链表的头部  
        dummy = ListNode(0)  
        # current指针用于遍历并构建新链表  
        current = dummy  
    
        # 当两个链表都不为空时,选择较小的节点添加到新链表中  
        while pHead1 and pHead2:  
            if pHead1.val < pHead2.val:  
                current.next = pHead1  
                pHead1 = pHead1.next  
            else:  
                current.next = pHead2  
                pHead2 = pHead2.next  
            # 移动current到下一个位置,准备添加下一个节点  
            current = current.next  
    
        # 如果pHead1还有剩余节点,将它们添加到新链表的末尾  
        while pHead1:  
            current.next = pHead1  
            pHead1 = pHead1.next  
            current = current.next  
    
        # 如果pHead2还有剩余节点,将它们添加到新链表的末尾  
        while pHead2:  
            current.next = pHead2  
            pHead2 = pHead2.next  
            current = current.next  
    
        # 返回新链表的头部(跳过哑节点)  
        return dummy.next 

全部评论

相关推荐

04-01 16:02
已编辑
武汉工程大学 Java
牛客98843461...:处女面??我还种马面渣男面处男面呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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