https://leetcode-cn.com/problems/merge-k-sorted-lists/submissions/
小根堆
public static class ListNode {int val;ListNode next;ListNode() {}ListNode(int val) { this.val = val; }ListNode(int val, ListNode next) { this.val = val; this.next = next; }}public ListNode mergeKLists(ListNode[] lists) {PriorityQueue<ListNode> heap = new PriorityQueue<>((ListNode l1, ListNode l2) -> {return l1.val - l2.val;});for (ListNode list : lists) {if (list != null) {heap.offer(list);}}ListNode head = new ListNode(0);ListNode cur = head;while (!heap.isEmpty()) {cur = cur.next = heap.poll();if (cur.next != null) {heap.offer(cur.next);}}cur.next = null;return head.next;}
