其实已经做出来了21题,这一题也就不会太难了,调用21题的方法即可
注意处理头节点,以及current节点
var mergeKLists = function (lists) {
let dummy = new ListNode(-1)
let current = dummy
for (let list of lists) {
current.next = mergeTwoLists(current.next, list)
}
return dummy.next
}
var mergeTwoLists = function (a, b) {
let dummy = new ListNode(-1)
let current = dummy
while (a && b) {
if (a.val <= b.val) {
current.next = a
a = a.next
} else {
current.next = b
b = b.next
}
current = current.next
}
if (!a) current.next = b
if (!b) current.next = a
return dummy.next
}