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



查看9道真题和解析