23. Merge k Sorted Lists

# Hard

class Solution {
    public ListNode mergeKLists(ListNode[] lists) {
        int min_index = 0;
        ListNode dump = new ListNode();
        ListNode h = dump;
        while(true) {
            boolean isBreak = true;
            int min = Integer.MAX_VALUE;
            for(int i = 0; i < lists.length; i ++) {
                if(lists[i] != null) {
                    if(lists[i].val < min) {
                        min_index = i;
                        min = lists[i].val;
                    }
                    isBreak = false;
                } 
            }
            if(isBreak)
                break;
            ListNode temp = new ListNode(lists[min_index].val);
            h.next = temp;
            h = h.next;
            lists[min_index] = lists[min_index].next;
        }
        h.next = null;
        return dump.next;
    }
}

Last updated