安徽智能网站建设推荐,做网站上海,短信营销,惠州seo排名公司描述 合并 k 个升序的链表并将结果作为一个升序的链表返回其头节点。
数据范围#xff1a;
示例1
输入#xff1a;
[{1,2,3},{4,5,6,7}]
返回值#xff1a;
{1,2,3,4,5,6,7}示例2
输入#xff1a;
[{1,2},{1,4,5},{6}]
返回值#xff1a;
{1,1,2,4,5,6}解题思路 利用两个…描述 合并 k 个升序的链表并将结果作为一个升序的链表返回其头节点。
数据范围
示例1
输入
[{1,2,3},{4,5,6,7}]
返回值
{1,2,3,4,5,6,7}示例2
输入
[{1,2},{1,4,5},{6}]
返回值
{1,1,2,4,5,6}解题思路 利用两个单链表合并成一个有序链表的方法先将数组前两个链表进行合并将合并后的链表返回然后再与下一个链表进行合并
/** function ListNode(x){* this.val x;* this.next null;* }*/
/*** 代码中的类名、方法名、参数名已经指定请勿修改直接返回方法规定的值即可*** param lists ListNode类一维数组* return ListNode类*/
function mergeKLists(lists) {if(lists.length 1){return lists[0]}// write code here// let list,list2,list1let list lists[0]for (let i 0; i lists.length - 1; i) {list Merge(list,lists[i1])// if(i 0){// list1 lists[i];// list2 lists[i1];// // list2 list1.next// list Merge(list1, list2);// // return list// }else{// list1 list// console.log(list)// list2 lists[i1]// list Merge(list, list2)// // return list// }}return list
}
function Merge(list1, list2) {if (list1 null) return list2;if (list2 null) return list1;if (list1.val list2.val) {list1.next Merge(list1.next, list2);return list1;// console.log(list1,list1)} else {list2.next Merge(list1, list2.next);return list2;}
}module.exports {mergeKLists: mergeKLists,
};