链表算法之【合并两个有序链表】

目录

LeetCode-21题


LeetCode-21题

将两个升序链表合并成一个新的升序链表并返回

java 复制代码
class Solution {
    public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
        if (list1 == null)
            return list2;
        if (list2 == null)
            return list1;

        ListNode dummyHead = new ListNode();
        ListNode curr = dummyHead;
        // 双指针
        ListNode p1 = list1;
        ListNode p2 = list2;

        while (p1 != null && p2 != null) {
            // 链入节点值较小的节点
            if (p1.val < p2.val) {
                curr.next = p1;
                p1 = p1.next;
            } else {
                curr.next = p2;
                p2 = p2.next;
            }
            curr = curr.next;
        }
        
        // 处理剩余节点
        if (p1 != null)
            curr.next = p1;
        if (p2 != null)
            curr.next = p2;

        return dummyHead.next;
    }

    private static class ListNode {
        int val;
        ListNode next;

        ListNode() {
        }

        ListNode(int val) {
            this.val = val;
        }

        ListNode(int val, ListNode next) {
            this.val = val;
            this.next = next;
        }
    }
}
相关推荐
axban2 分钟前
QT中删除控件的注意事项、deleteLater和delete的区别
java·数据库·qt
MicoZone11 分钟前
JDK源码
java
赴33540 分钟前
逻辑回归 银行贷款资格判断案列优化 交叉验证,调整阈值,下采样与过采样方法
算法·机器学习·逻辑回归·下采样·交叉验证·过采样·阈值
2501_924878731 小时前
无人机光伏巡检缺陷检出率↑32%:陌讯多模态融合算法实战解析
开发语言·人工智能·算法·视觉检测·无人机
沉睡的无敌雄狮1 小时前
无人机光伏巡检漏检率↓78%!陌讯多模态融合算法实战解析
人工智能·算法·计算机视觉·目标跟踪
Resean02231 小时前
SpringMVC 6+源码分析(二)DispatcherServlet实例化流程 1
java·spring boot·spring·servlet·springmvc
magicwt1 小时前
《从零构建大模型》读书笔记
算法
大胖猫L1 小时前
深搜与广搜在 TypeScript 类型递归中的应用
前端·算法
泉城老铁1 小时前
Spring Boot 对接阿里云 OSS 的详细步骤和流程
java·后端·程序员
陈平安安2 小时前
Maven学习
java·maven