21. 合并两个有序列表

思路:

由于两个链表本身就是有序的,所以只需要遍历就OK了。

可以设置一个空的头结点,这样可以对两条链表都进行统一的操作,减轻代码量,代码也美观了不少。

 

代码:

复制代码
 1 /**
 2      * @param {ListNode} list1
 3      * @param {ListNode} list2
 4      * @return {ListNode}
 5      */
 6     var mergeTwoLists = function(list1, list2) {
 7         let head = new ListNode(-1, undefined);
 8         let cur = head;
 9         while(list1 && list2){
10             if(list1.val < list2.val){
11                 cur.next = list1;
12                 list1 = list1.next;
13             }else{
14                 cur.next = list2;
15                 list2 = list2.next;
16             }
17             cur = cur.next;
18         }
19         if(list1){
20             cur.next = list1;
21         }else{
22             cur.next = list2;
23         }
24         return head.next;
25     };
复制代码

 

posted @   BJFU-VTH  阅读(82)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示