Checkpoint Day 1

'''
class Solution:
def mergeKLists(self, lists: List[Optional[ListNode]]) -> Optional[ListNode]:

    heap = []
    head = dummy = ListNode(float('inf'), None)
    for i in range(len(lists)):
        if lists[i]:
            heap.append([lists[i].val, i])
            
    heapq.heapify(heap) 
    
    while heap:
        val, index = heapq.heappop(heap)
        next_node = ListNode(val)
        dummy.next = next_node
        dummy = dummy.next
        lists[index] = lists[index].next
        if lists[index]:
            heapq.heappush(heap, [lists[index].val, index])
            
    return head.next
    '''
Comments (0)