Leetcode 21.合并两个有序链表 JavaScript (Day 10)

js一刷暴力(but双百)

javascript 复制代码
var mergeTwoLists = function(list1, list2) {
    let p1=null,p2=null,head=null;
    if (!list1) return list2;
    if (!list2) return list1;
    if(list1.val>=list2.val){
        head=list2;
        p2=list1;
        p1=list2;
    }else{
        head=list1;
        p1=list1;
        p2=list2;
    }
    while(p2&&p1.next){
        let cur=p2.next;
        if(p2.val>=p1.val&&p2.val<=p1.next.val){
            let temp=p1.next;
            p1.next=p2;
            p2.next=temp;
            p1=p1.next;
            p2=cur;
        }
        else{
            p1=p1.next;
        }
    }
    if(p1.next===null){
        p1.next=p2;
    }
    return head;
};

js 一刷 循环迭代 设置哨兵

javascript 复制代码
var mergeTwoLists = function(list1, list2) {
    const dummy=new ListNode();//哨兵
    let cur=dummy;
    while(list1&&list2){
        if(list1.val<=list2.val){
            cur.next=list1;
            list1=list1.next;
        }
        else{
            cur.next=list2;
            list2=list2.next;
        }
        cur=cur.next;
    }
    cur.next=list1??list2; //list不为空返回list1,为空返回list2
    return dummy.next;
};

js一刷 递归

javascript 复制代码
var mergeTwoLists = function(list1, list2) {
    if(!list1) return list2;
    if(!list2) return list1;
    if(list1.val<list2.val){
        list1.next=mergeTwoLists(list1.next,list2)
        return list1;
    }
    else{
        list2.next=mergeTwoLists(list2.next,list1)
        return list2;
    }
};
相关推荐
小陈工1 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
海清河晏1111 小时前
数据结构 | 单循环链表
数据结构·算法·链表
午安~婉5 小时前
Electron桌面应用聊天(续)
前端·javascript·electron
skywalker_116 小时前
力扣hot100-3(最长连续序列),4(移动零)
数据结构·算法·leetcode
6Hzlia6 小时前
【Hot 100 刷题计划】 LeetCode 17. 电话号码的字母组合 | C++ 回溯算法经典模板
c++·算法·leetcode
wfbcg6 小时前
每日算法练习:LeetCode 209. 长度最小的子数组 ✅
算法·leetcode·职场和发展
哟哟耶耶7 小时前
vue3-单文件组件css功能(:deep,:slotted,:global,useCssModule,v-bind)
前端·javascript·css
是罐装可乐7 小时前
深入理解“句柄(Handle)“:从浏览器安全到文件系统访问
前端·javascript·安全
_日拱一卒7 小时前
LeetCode:除了自身以外数组的乘积
数据结构·算法·leetcode
计算机安禾7 小时前
【数据结构与算法】第36篇:排序大总结:稳定性、时间复杂度与适用场景
c语言·数据结构·c++·算法·链表·线性回归·visual studio