leetCode21: 合并两个有序列表

时间:2023-03-10 07:10:07
leetCode21: 合并两个有序列表

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

示例:

输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4
// ListNode {val: 3,next: ListNode { val: 2, next: ListNode { val: 4, next: null } } }
// ListNode {val: 1,next: ListNode { val: 3, next: ListNode { val: 4, next: null } } }
var mergeTwoLists = function(l1, l2) {
var mergeHead = {val:-1,next:null},
crt = mergeHead;
  //mergeHead的next永远指向最初的crt
while(l1 && l2){ if(l1.val > l2.val){
       //crt不断在后移
crt.next = l2;
l2 = l2.next
}else{
      
crt.next = l1;
l1 = l1.next
}
crt = crt.next;
}
crt.next = l1 || l2; //l1比较完没有了,把l2剩下的连上
return mergeHead.next // 返回的是mergeHead的next };