【LeetCode: 21. 合并两个有序链表 + 链表】

|-----------|
| 🚀 算法题 🚀 |

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

|-----------|
| 🚀 算法题 🚀 |

🍔 目录

    • [🚩 题目链接](#🚩 题目链接)
    • [⛲ 题目描述](#⛲ 题目描述)
    • [🌟 求解思路&实现代码&运行结果](#🌟 求解思路&实现代码&运行结果)
      • [⚡ 链表](#⚡ 链表)
        • [🥦 求解思路](#🥦 求解思路)
        • [🥦 实现代码](#🥦 实现代码)
        • [🥦 运行结果](#🥦 运行结果)
    • [💬 共勉](#💬 共勉)

🚩 题目链接

⛲ 题目描述

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

示例 1:

输入:l1 = [1,2,4], l2 = [1,3,4]

输出:[1,1,2,3,4,4]

示例 2:

输入:l1 = [], l2 = []

输出:[]

示例 3:

输入:l1 = [], l2 = [0]

输出:[0]

提示:

两个链表的节点数目范围是 [0, 50]

-100 <= Node.val <= 100

l1 和 l2 均按 非递减顺序 排列

🌟 求解思路&实现代码&运行结果


⚡ 链表

🥦 求解思路
  1. 该题目给定俩个升序的链表,让我们最后求解的是将这俩个链表合并为一个有序的链表,并返回,我们直接模拟即可。
  2. 有了基本的思路,接下来我们就来通过代码来实现一下。
🥦 实现代码
java 复制代码
/**
 * Definition for singly-linked list.
 * public class ListNode {
 * int val;
 * ListNode next;
 * ListNode() {}
 * ListNode(int val) { this.val = val; }
 * ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
        if (list1 == null)
            return list2;
        if (list2 == null)
            return list1;
        ListNode head = new ListNode(-1);
        ListNode res = head;
        while (list1 != null && list2 != null) {
            if (list1.val <= list2.val) {
                res.next = new ListNode(list1.val);
                list1 = list1.next;
            } else {
                res.next = new ListNode(list2.val);
                list2 = list2.next;
            }
            res = res.next;
        }
        if (list1 == null) {
            res.next = list2;
        }
        if (list2 == null) {
            res.next = list1;
        }
        return head.next;
    }
}
🥦 运行结果

💬 共勉

|----------------------------------|
| 最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉! |

相关推荐
a程序小傲1 分钟前
京东Java面试被问:ZGC的染色指针如何实现?内存屏障如何处理?
java·后端·python·面试
不穿格子的程序员11 分钟前
从零开始学算法——链表篇3:合并两个有序链表 + 两数相加
数据结构·算法·链表·dummy
vx_bisheyuange14 分钟前
基于SpringBoot的老年一站式服务平台
java·spring boot·后端·毕业设计
计算机毕设VX:Fegn089526 分钟前
计算机毕业设计|基于Java + vue水果商城系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·课程设计
暴风鱼划水31 分钟前
算法题(Python)哈希表 | 2.两个数组的交集
python·算法·哈希表
TH_133 分钟前
2、前台工程使用代理,请求后台失败
java
子一!!33 分钟前
数据结构==LRU Cache ==
数据结构
川贝枇杷膏cbppg35 分钟前
DmServiceDMSERVER.log是干嘛的
java·服务器·数据库
fufu031135 分钟前
Linux环境下的C语言编程(四十二)
linux·c语言·算法
HalvmånEver39 分钟前
Linux : 基础IO(三)
linux·运维·算法