news 2026/4/17 14:12:19

Leetcode21. 合并两个有序链表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Leetcode21. 合并两个有序链表

问题描述:

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

示例 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
  • l1l2均按非递减顺序排列

上代码,拿去即可运行:

package com.onlyqi.daydayup01.leetcode; import lombok.AllArgsConstructor; import lombok.Data; import java.util.Objects; public class Leetcode21 { public static void main(String[] args) { ListNode head14 = new ListNode(4); ListNode head12 = new ListNode(2, head14); ListNode head11 = new ListNode(1, head12); ListNode head25 = new ListNode(5, null); ListNode head23 = new ListNode(2, head25); ListNode head21 = new ListNode(1, head23); // 1 2 4 // 1 2 5 ListNode head = mergeTwoLists1(head11, head21); while (!Objects.isNull(head)) { System.out.println(head.val); head = head.next; } } public static ListNode mergeTwoLists1(ListNode list1, ListNode list2) { ListNode head = new ListNode(0); // 哑结点 (dummy node),简化代码 ListNode temp = head; // temp 用于遍历新链表 // 循环条件:当两个链表都还有节点时才需要比较 while (list1 != null && list2 != null) { if (list1.val <= list2.val) { temp.next = list1; // 将 list1 当前节点接在 temp 后面 list1 = list1.next; // 只移动 list1 的指针 } else { temp.next = list2; // 将 list2 当前节点接在 temp 后面 list2 = list2.next; // 只移动 list2 的指针 } temp = temp.next; // 移动 temp 指针,准备下一次连接 } // 循环结束后,至少有一个链表已经为空。 // 将剩下的非空链表直接接到结果链表的末尾。 temp.next = (list1 != null) ? list1 : list2; return head.next; // 返回哑结点的下一个节点,即新链表的头节点 } @Data @AllArgsConstructor static class ListNode { int val; ListNode next; public ListNode(int val) { this.val = val; this.next = null; } } }

运行结果:

我要刷300道算法题,第151道。 尽快刷到200,争取每天搞一道 。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 8:33:36

如何成为顶尖的优秀AI系统架构师?门道在此

从AI开发者到顶尖架构师:拆解6大核心能力与成长路径 一、引言:你是否遇到过这些“架构瓶颈”? 作为一名AI工程师,你有没有过这样的困惑: 做过很多模型调优(比如把ImageNet分类准确率从90%提到92%),但面对百万级用户的AI服务时,不知道怎么设计能扛住并发的架构? 写过…

作者头像 李华
网站建设 2026/4/18 5:34:43

2024提示工程架构师技能图谱:从技术到业务的硬实力

2024提示工程架构师技能图谱&#xff1a;从技术到业务的硬实力 一、引入与连接&#xff1a;当AI遇到“不会说话”的业务 凌晨3点&#xff0c;某电商公司的技术总监盯着屏幕上的用户投诉列表&#xff0c;眉头紧锁——公司花了大价钱上线的AI推荐系统&#xff0c;最近转化率掉了1…

作者头像 李华
网站建设 2026/4/18 5:36:47

低代码平台选型指南:五大定位迥异的“数字搭档”解析

作为在公司里牵头数字化转型的“探路者”&#xff0c;我常常需要在预算、效率和专业性之间寻找最优解。这就像在数字化的海洋里航行&#xff0c;而一艘好船的船体固然重要&#xff0c;但甲板上那些各司其职、各怀绝技的“搭档”才是关键。今天&#xff0c;我想和你分享五位让我…

作者头像 李华
网站建设 2026/4/18 6:28:18

快速降低氨氮的方法及污水处理应用要点

在污水处理领域&#xff0c;氨氮超标是常见的水质污染问题&#xff0c;若不及时处理&#xff0c;会破坏水体生态平衡、影响水资源循环利用&#xff0c;因此快速降低氨氮的方法成为行业关注的核心。快速降低氨氮的方法需遵循“应急有效、操作便捷、兼顾长效”的原则&#xff0c;…

作者头像 李华
网站建设 2026/4/18 6:27:11

SSM智能新冠疫苗接种助手6hz40(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面

系统程序文件列表系统项目功能&#xff1a;用户,疫苗信息,接种预约,接种提醒,预约分配SSM智能新冠疫苗接种助手开题报告一、课题研究背景与意义&#xff08;一&#xff09;研究背景新冠疫苗接种是防控新冠肺炎疫情、保障公众生命健康的关键举措。当前&#xff0c;新冠疫苗接种工…

作者头像 李华