合并两个升序链表

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

提示:

  • 两个链表的节点数目范围是 [0, 50]
  • -100 <= Node.val <= 100
  • l1 和 l2 均按 非递减顺序 排列

思路:

dummy节点:(1)作为新链表的头节点 (2)解决链表头部的极端情况

代码:

 1 let curr = new ListNode();
 2 let dummy = curr;
 3 while(l1 !== null && l2 !== null){
 4     if(l1.val < l2.val){
 5         curr.next = l1;
 6         l1 = l1.next;
 7     }else {
 8         curr.next = l2;
 9         l2 = l2.next;
10     }
11     curr = curr.next;
12 }
13 if(l1 !== null){
14     curr.next = l1;
15 }
16 if(l2 !== null){
17     curr.next = l2;
18 }
19 return dummy.next;

 

posted @ 2021-05-22 21:57  icyyyy  阅读(154)  评论(0)    收藏  举报