LeetCode: 23. Merge k Sorted Lists
阿新 • • 發佈:2018-12-22
題目: 23. Merge k Sorted Lists(https://leetcode.com/problems/merge-k-sorted-lists/description/)
class Solution { public ListNode mergeKLists(ListNode[] lists) { ListNode result = null, tail = null; PriorityQueue<ListNode> queue = new PriorityQueue<>(Comparator.comparingInt(x -> x.val)); for (ListNode node : lists) { if (node == null) { continue; } queue.add(node); } while (!queue.isEmpty()){ ListNode head = queue.poll(); if (head.next != null) { queue.add(head.next); } head.next = null; if (result == null){ tail = result = head; } else { tail.next = head; tail = tail.next; } } return result; } }