给你一个链表数组,每个链表都已经按升序排列。
请你将所有链表合并到一个升序链表中,返回合并后的链表。 力扣原文
示例 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
示例 2:
输入: lists = []
输出: []
示例 3:
输入: lists = [[]]
输出: []
解题:
var mergeKLists = function (lists) {
let result = [];
for (const cur of lists) {
while(cur){
result.push(cur.val)
cur=cur.next
}
}
result.sort((a,b)=>a-b)
const emptyHead=new ListNode(-1);
let cur=emptyHead
for (const iterator of result) {
cur.next=new ListNode(iterator)
cur=cur.next
}
return emptyHead.next
};