优先队列的一种实现方式是完全二叉树
class Solution:
def mergeKLists(self, lists) :
import heapq
heap=[]
LN_re=LN_head=ListNode()
for i in range(len(lists)):
if lists[i]:
heappush(heap,(lists[i].val,i))
while heap:
LN_head_val,idx= heappop(heap)
LN_head.next=ListNode(LN_head_val)
LN_head=LN_head.next
lists[idx]=lists[idx].next
if lists[idx]:
heappush(heap,(lists[idx].val,idx))
return LN_re.next