题解 | #合并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

全部评论

相关推荐

秋盈丶:后续:我在宿舍群里和大学同学分享了这事儿,我好兄弟气不过把他挂到某脉上了,10w+阅读量几百条评论,直接干成精品贴子,爽
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务