【Java 数据结构】合并两个有序链表

🔥 博客主页🔥 :【 坊钰_CSDN博客

欢迎各位点赞👍 评论**✍收藏⭐**

目录

[1. 题目](#1. 题目)

[2. 解析](#2. 解析)

[3. 代码实现](#3. 代码实现)

[4. 小结](#4. 小结)


1. 题目

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

示例 1:

复制代码
输入:l1 = [1,2,4], l2 = [1,3,4]
输出:[1,1,2,3,4,4]

示例 2:

复制代码
输入:l1 = [], l2 = []
输出:[]

示例 3:

复制代码
输入:l1 = [], l2 = [0]
输出:[0]

2. 解析

  • 两个链表每个节点相互比较,交换相当于尾插(创建一个新的节点来接收)

3. 代码实现

java 复制代码
class Solution {
    public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
        ListNode ret = new ListNode(0);
        ListNode head = ret;
        while (list1 != null && list2 != null) {
            if (list1.val < list2.val) {
                ret.next = list1;
                ret = ret.next;
                list1 = list1.next;
            } else {
                ret.next = list2;
                ret = ret.next;
                list2 = list2.next;
            }
        }
        if (list1 == null) {
            ret.next = list2;
        }
        if (list2 == null) {
            ret.next = list1;
        }
        return head.next;
    }
}

4. 小结

以上就是对该题的了解,具体还需宝子们去实践,如果觉得该博客对你有用的话,希望一键三连,点个关注不迷路,谢谢支持

相关推荐
市场部需要一个软件开发岗位几秒前
JAVA开发常见安全问题:纵向越权
java·数据库·安全
历程里程碑13 分钟前
普通数组----合并区间
java·数据结构·python·算法·leetcode·职场和发展·tornado
执风挽^30 分钟前
Python基础编程题2
开发语言·python·算法·visual studio code
程序员泠零澪回家种桔子32 分钟前
Spring AI框架全方位详解
java·人工智能·后端·spring·ai·架构
●VON40 分钟前
CANN推理引擎:从云端到边缘的极致加速与部署实战
学习·react native
Z9fish40 分钟前
sse哈工大C语言编程练习20
c语言·开发语言·算法
CodeCaptain41 分钟前
nacos-2.3.2-OEM与nacos3.1.x的差异分析
java·经验分享·nacos·springcloud
笔画人生44 分钟前
深度解析 CANN 项目:以 `ops-transformer` 为例探索高性能 AI 算子库
学习·开源
梵刹古音1 小时前
【C语言】 指针与数据结构操作
c语言·数据结构·算法
萧鼎1 小时前
Python 包管理的“超音速”革命:全面上手 uv 工具链
开发语言·python·uv