思路:
本题要求合并两个有序链表
依旧是创建一个假头,然后遍历依次链接到新链表上就好
唯一需要注意的就是链接时不需要new了,直接=就可以,多余部分在下一次循环中会被next覆盖
代码:
先创建假头,返回结果就是假头的下一个节点
然后开始循环,另外创建一个指针cur在新链表上从头遍历到尾
如果链表1的值小,就把链表1链接到新链表上
否则把链表2链接上
循环结束后剩余部分也链接到新链表的尾部
var mergeTwoLists = function (list1, list2) {
let dummy = new ListNode()
let cur = dummy
while (list1 && list2) {
if (list1.val <= list2.val) {
cur.next = list1
list1 = list1.next
cur = cur.next
} else {
cur.next = list2
list2 = list2.next
cur = cur.next
}
}
cur.next = list1 || list2
return dummy.next
};