Step 1: Insert first nodes of all lists into min heap
MinHeap: [1, 2, 3]
Merged List: null
Why: We start by knowing the smallest elements from each list to pick the smallest overall
Step 2: Extract min (1) from heap and add to merged list; insert next node (4) from list1 into heap
MinHeap: [2, 3, 4]
Merged List: 1 -> null
Why: We add smallest element to merged list and bring next candidate from same list
Step 3: Extract min (2) from heap and add to merged list; insert next node (5) from list2 into heap
MinHeap: [3, 4, 5]
Merged List: 1 -> 2 -> null
Why: Continue picking smallest and replenishing heap from lists
Step 4: Extract min (3) from heap and add to merged list; insert next node (6) from list3 into heap
MinHeap: [4, 5, 6]
Merged List: 1 -> 2 -> 3 -> null
Why: Keep merging by always picking smallest current element
Step 5: Extract min (4) from heap and add to merged list; insert next node (7) from list1 into heap
MinHeap: [5, 6, 7]
Merged List: 1 -> 2 -> 3 -> 4 -> null
Why: Add next smallest and continue replenishing heap
Step 6: Extract min (5) from heap and add to merged list; insert next node (8) from list2 into heap
MinHeap: [6, 7, 8]
Merged List: 1 -> 2 -> 3 -> 4 -> 5 -> null
Why: Continue merging in sorted order
Step 7: Extract min (6) from heap and add to merged list; insert next node (9) from list3 into heap
MinHeap: [7, 8, 9]
Merged List: 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> null
Why: Keep picking smallest and adding next nodes
Step 8: Extract min (7) from heap and add to merged list; list1 has no more nodes
MinHeap: [8, 9]
Merged List: 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> null
Why: Add remaining elements from heap as lists finish
Step 9: Extract min (8) from heap and add to merged list; list2 has no more nodes
MinHeap: [9]
Merged List: 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> null
Why: Continue until all nodes are merged
Step 10: Extract min (9) from heap and add to merged list; list3 has no more nodes
MinHeap: []
Merged List: 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9 -> null
Why: All nodes merged, heap empty
Result: 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9 -> null