解题思路:
只要会合并两个升序链表,合并K个做法类似。
class Solution {public ListNode mergeKLists(ListNode[] lists) {ListNode res = null;for (int i = 0; i < lists.length; i++) {res = merge(res, lists[i]);}return res;}public ListNode merge(ListNode l1, ListNode l2) {if (l1 == null || l2 == null)return l1 == null ? l2 : l1;ListNode dum = new ListNode(0);ListNode cur = dum;while (l1 != null && l2 != null) {if (l1.val < l2.val) {cur.next = l1;l1 = l1.next;} else {cur.next = l2;l2 = l2.next;}cur = cur.next;}cur.next = l1 != null ? l1 : l2;return dum.next;}
}