将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例 1:
输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4]
示例 2:
输入:l1 = [], l2 = [] 输出:[]
示例 3:
输入:l1 = [], l2 = [0] 输出:[0]
把链表转化为数组,用数组的sort去给数组分类,然后返回一个链表
var mergeTwoLists = function(list1, list2) {
if(!list1 && !list2) return null
const list = [];
while(list1 !== null) {
list.push(list1.val);
list1 = list1.next;
}
while(list2 !== null) {
list.push(list2.val);
list2 = list2.next;
}
let list3 = list.sort((a,b)=>a-b)
const head = new ListNode(list3[0]);
let res = head;
for(let i = 1;i < list3.length;i ++) {
res.next = new ListNode(list3[i]);
res = res.next;
}
return head;
};