【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. 小结

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

相关推荐
Appreciate(欣赏)14 分钟前
JAVA使用poi类读取xlxs文件内容拼接成添加数据SQL
java·开发语言·sql
Xudde.33 分钟前
Quick2靶机渗透
笔记·学习·安全·web安全·php
极光代码工作室41 分钟前
基于SpringBoot的流浪狗管理系统的设计与实现
java·spring boot·后端
oioihoii41 分钟前
性能提升11.4%!C++ Vector的reserve()方法让我大吃一惊
开发语言·c++
毕设源码-朱学姐42 分钟前
【开题答辩全过程】以 基于JAVA的恒星酒店客房管理系统为例,包含答辩的问题和答案
java·开发语言
思密吗喽1 小时前
景区行李寄存管理系统
java·开发语言·spring boot·毕业设计·课程设计
Rust语言中文社区1 小时前
【Rust日报】Dioxus 用起来有趣吗?
开发语言·后端·rust
小灰灰搞电子1 小时前
Rust Slint实现颜色选择器源码分享
开发语言·后端·rust
gladiator+1 小时前
Redis之BigKey的常见问题以及大厂相关面试题
java·数据库·redis
AA陈超1 小时前
Git常用命令大全及使用指南
笔记·git·学习