讨论/《排序算法全解析》 - 23. 合并 K 个升序链表/
《排序算法全解析》 - 23. 合并 K 个升序链表
共 1 个回复
class Solution {
    public ListNode mergeKLists(ListNode[] lists) {
        ListNode head = new ListNode(0);
        ListNode current = head;
        boolean add = true;
        while (add) {
            add = false;
            int minIndex = -1;
            for (int i = 0; i < lists.length; i++) {
                if (lists[i] == null) {
                    continue;
                } else {
                    if (minIndex == -1) {
                        minIndex = i;
                    } else {
                        if (lists[i].val < lists[minIndex].val) {
                            minIndex = i;
                        }
                    }
                    add = true;
                }
            }
            if (add) {
                current.next = lists[minIndex];
                lists[minIndex] = lists[minIndex].next;
                current = current.next;
            }
        }
        return head.next;
    }
}