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

合并k个已排序的链表

https://www.nowcoder.com/practice/65cfde9e5b9b4cf2b6bafa5f3ef33fa6

import heapq
class ListNode:
     def __init__(self, x):
         self.val = x
         self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param lists ListNode类一维数组 
# @return ListNode类
#
class Solution:
    def mergeKLists(self , lists: List[ListNode]):
        li=[]
        if not lists:
            return
        
        for node in lists:
                while node:
                        li.append(node.val)
                        node=node.next
        if li:
            heapq.heapify(li)#建小根堆
            root=ListNode(heapq.heappop(li))#构造链表,建立根节点
            cur=root#当前节点
            while li:
                    nextnode=ListNode(heapq.heappop(li))
                    cur.next=nextnode#把根节点与下一节点相连
                    cur=nextnode
            return root

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 12:23
点赞 评论 收藏
分享
弦五Strings:他之所以会举报你代课是因为在这种人眼里正常上课就是正义代课就是邪恶,典型二极管思维,处理方法就是私下沟通,你就说你自己家里经济困难或者家里父母生病什么之类的,需要去打工挣钱,用尽孝的正义对冲他认为的上课的正义,他可能就妥协了。
我的实习日记
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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