北京网站建设在线,wordpress 导航固定,广州网页设计网站建设,郴州市人口题目
给你一个链表数组#xff0c;每个链表都已经按升序排列。
请你将所有链表合并到一个升序链表中#xff0c;返回合并后的链表。
示例 1#xff1a;
输入#xff1a;lists [[1,4,5],[1,3,4],[2,6]] 输出#xff1a;[1,1,2,3,4,4,5,6] 解释#xff1a;链表数组如下…题目
给你一个链表数组每个链表都已经按升序排列。
请你将所有链表合并到一个升序链表中返回合并后的链表。
示例 1
输入lists [[1,4,5],[1,3,4],[2,6]] 输出[1,1,2,3,4,4,5,6] 解释链表数组如下 [ 1-4-5, 1-3-4, 2-6 ] 将它们合并到一个有序链表中得到。 1-1-2-3-4-4-5-6
解
class Solution {public ListNode mergeKLists(ListNode[] lists) {ListNode res null;for (ListNode item : lists) {res merge(res, item);}return res;}public ListNode merge(ListNode item1, ListNode item2) {ListNode dummy new ListNode(0);ListNode cur dummy;while (item1 ! null item2 ! null) {if (item1.val item2.val) {cur.next item1;item1 item1.next;} else {cur.next item2;item2 item2.next;}cur cur.next;}cur.next item1 null ? item2:item1;return dummy.next;}
}