news 2026/6/15 16:54:56

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/6/15 15:46:40

Linux命令-lsattr(查看文件的第二扩展文件系统属性)

&#x1f9ed;说明 lsattr 命令用于显示文件或目录在Linux文件系统中的隐藏属性。这些属性提供了对文件更精细的控制&#xff0c;例如设置文件只可追加内容或不可修改&#xff0c;常用于系统安全和数据保护。 下面这个表格整理了 lsattr 命令的常用选项。选项说明-a列出目录下的…

作者头像 李华
网站建设 2026/6/13 5:01:21

官宣升级!Claude Opus 4.6 正式发布,能力全面拉满,一步 API 即刻畅用

Anthropic 再次放出重磅更新&#xff0c;旗下旗舰级大模型 Claude Opus 4.6 正式亮相。本次版本不仅对核心能力进行了系统级强化&#xff0c;还同步上线多项高价值功能&#xff0c;面向开发者和企业用户全面升级。 更重要的是&#xff0c;如今无需繁琐的官方流程&#xff0c;通…

作者头像 李华
网站建设 2026/6/10 19:18:42

前端效率翻倍!Open-Lovable 克隆网页 + cpolar 穿透,告别局域网限制

Open-Lovable 是一款面向前端开发者的开源工具&#xff0c;核心功能是将任意网页快速克隆为可编辑的 React 应用&#xff0c;还支持 Anthropic Claude、OpenAI GPT-5 等多款 AI 模型&#xff0c;能自动拆分组件、保留完整 CSS 样式&#xff0c;不管是新手学习优秀网站结构&…

作者头像 李华
网站建设 2026/6/12 11:54:21

MyBatis最佳实践

MyBatis是一款非常流行的ORM框架&#xff0c;相信很多小伙伴都在使用。我们经常会把它和MyBatis-Plus或者MBG一起使用&#xff0c;用多了之后对于其一些常规操作就不太熟悉了。最近总结了下MyBatis的实用用法和技巧&#xff0c;希望对大家有所帮助&#xff01;MyBatis简介MyBat…

作者头像 李华
网站建设 2026/6/7 1:15:02

jd商品详情 API 接口- item_get_pro 全平台商品

一、电商数据抓取 在电商数据抓取领域&#xff0c;京东作为国内最大的电商平台之一&#xff0c;其数据的获取一直是众多开发者关注的焦点。item_get_pro 接口作为获取京东商品详情信息的重要工具&#xff0c;为我们在数据分析、竞品研究等方面提供了有力支持。今天&#xff0c;…

作者头像 李华
网站建设 2026/6/15 0:46:28

凤城五路见证:招商林屿缦岛首开203套售罄,市场热度彰显品质实力

2026年2月8日&#xff0c;西安凤城五路迎来了一场关于品质居住的集体投票。招商蛇口西安林屿缦岛首开203套房源&#xff0c;当日即告售罄。这一现象&#xff0c;不仅为春日的西安楼市注入了一抹亮色&#xff0c;更为市场提供了一个值得深思的样本&#xff1a;在理性回归的当下&…

作者头像 李华