js剑指offer-16-合并两个排序的链表

将两个有序链表合并,保持单调不减顺序。当一个链表为空时,将其余链表的所有节点添加到结果中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

剑指offer16-合并两个排序的链表

题目描述

  输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

const Merge = (phead1, phead2) => {
    let head = new ListNode();
    let phead = head;
    while(phead1 !== null && phead2 !== null){
        if(phead1.val >= phead2.val){
            head.next = phead2;
            phead2 = phead2.next;
        }
        else{
            head.next = phead1;
            phead1 = phead1.next;
        }
        head = head.next;
    }
    if(phead1 != null) head.next = phead1;
    if(phead2 != null) head.next = phead2;
    return phead.next;
};

本题类型:链表

解析:

  朴素的思路,在两个链表都有元素的时候元素的值进行排序,在任何一个链表为空后把另一个链表的剩余部分直接接在最后面即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值