擅长:python、mysql、java
<p>我想你说的是:Leetcode<strong>合并k个排序列表</p>
<p>我正在为您分享一个可行的解决方案:</p>
<pre><code>head = curr = ListNode(0) # Creating a dummy node
lst = []
for l in lists:
if l:
# Here we need to first push val so that heap can know which is minimum and which is maximum.
# If we insert directly node then heap can't work proper way (in this case heapq.heappop doesn't return minimum node).
lst.append((l.val,l))
heapq.heapify(lst)
while lst:
val,node = heapq.heappop(lst)
curr.next = node
curr = curr.next
node = node.next
if node:
heapq.heappush(lst,(node.val,node))
return head.next
</code></pre>