1.建立堆
这里利用了heapq 模块
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
import heapq
def mergeKLists(self, lists: List[ListNode]) -> ListNode:
prev=dummy=ListNode(0)
heap=[]
for i in range(len(lists)):
while(lists[i]):
heapq.heappush(heap,lists[i].val)
lists[i]=lists[i].next
print(heap)
for i in range(len(heap)):
prev.next=ListNode(heapq.heappop(heap))
prev=prev.next
return dummy.next