合并k个升序链表
定义链表类型
function ListNode(val,next){
this.val=(val==undefined?0:val);
this.next=(next==undefined?null:next);
}
//合并k个升序列表
**思路: 将链表转换成数组 在将数组存入到链表中**
var mergeKLists = function(lists) {
if(list.length)return NULL;
var arr=[],i,j=0;//arr用于存放排序后的数组
let node;//定义一个节点用于接收数组的里边的元素
for(let list of lists){
node=list;
i=0;//每当节点遍历完将i置为0
while(i<=node.length-1){
arr.push(node[i]);//将元素存入数组arr中
i++;
}
}
arr.sort();//排序
//将数组转换成链表
var L=new ListNode();
let cur=L;
while(j<arr.length){
cur.next=new ListNode(arr[j]);
cur=cur.next;
j++;
}
return L.next;
}
var lists=[[1,4,5],[1,3,4],[2,6]];
console.log(mergeKLists(lists));