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;
    }
};
相关推荐
烬羽3 小时前
后端返回的 JSON 字符串,浏览器怎么"看懂"的?——Ajax 全链路拆解
javascript
半个落月4 小时前
一个新手用 Bun + Axios 调通 DeepSeek API 的实践记录
javascript
不好听6134 小时前
深入理解链表:线性数据结构的另一面
javascript·数据结构
林希_Rachel_傻希希4 小时前
学React治好了我的焦虑症,1小时速通React 前20分钟。
前端·javascript·面试
小林ixn4 小时前
从 Ajax 到异步编程:JSON 序列化、Event Loop 与 XHR 请求完全解析
javascript
丷丩5 小时前
MapLibre GL JS第47课:添加动画图标
javascript·gis·动画·mapbox·maplibre
快乐的哈士奇6 小时前
【Next.js实战①】Gmail API 按柜号检索邮件:OAuth 双 Cookie 与搜索 Fallback
开发语言·javascript·ecmascript
云水一下6 小时前
Vue.js从零到精通系列(五):全局状态管理——Pinia 核心与实践
前端·javascript·vue.js
kmblack16 小时前
javascript计算年龄
开发语言·javascript·ecmascript
Dick5077 小时前
ROS2 多机器人通用 Driver 层复盘:BaseRobotDriver 到多平台 Mock 切换实现
前端·javascript·机器人