本文主要是介绍力扣HOT100 - 23. 合并K个升序链表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
解题思路:
只要会合并两个升序链表,合并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;}
}
这篇关于力扣HOT100 - 23. 合并K个升序链表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!