news 2026/2/24 12:20:23

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/2/24 7:15:17

大数据面试必问:Doris 核心原理与高频考点解析

大数据面试必问&#xff1a;Doris 核心原理与高频考点解析关键词&#xff1a;Doris数据库、MPP架构、列式存储、预聚合、面试高频考点、数据模型、性能调优摘要&#xff1a;本文深度解析大数据领域明星数据库 Doris 的核心原理&#xff0c;结合面试高频考点&#xff0c;通过生活…

作者头像 李华
网站建设 2026/2/23 20:07:41

▲4FSK调制解调+扩频解扩通信链路matlab误码率仿真

目录 1.本系统整体构架 2.各个模块基本原理 2.1 4FSK 调制原理 2.4 FSK解调原理 2.4.1 相干解调 2.4.2 非相干解调 2.3 扩频技术原理 3.仿真结果 4.完整程序下载 1.本系统整体构架 整个程序&#xff0c;我们采用如下的流程图实现&#xff1a; 2.各个模块基本原理 2.…

作者头像 李华
网站建设 2026/2/22 7:30:01

LangChain构建测试用例Agent实战

一. 概述 本文是一份Langchain 1.0从环境搭建到实战演示的入门指南,面向想用 LangChain 1.0 构建软件测试相关Agent的测开人员。内容覆盖三大块:环境准备(包括 IDE、Conda、API Key、依赖等)以及实战示例,最终构建一个测试用例生成智能体。整份文档以实践为导向,配有完整…

作者头像 李华
网站建设 2026/2/21 3:25:44

2026年AI大模型入门指南:收藏这份学习资料,小白也能成为数字伙伴!

2025年已成为AI Agent发展的关键年份。随着技术的成熟和应用场景的拓展&#xff0c;AI智能体正从简单的聊天机器人进化成为能够真正理解、规划并执行复杂任务的数字伙伴。今天我们就来盘点一下当前热门的AI Agent方向和未来趋势。一、记忆型Agent&#xff1a;突破“金鱼记忆”瓶…

作者头像 李华
网站建设 2026/2/24 9:19:49

【开题答辩过程】以《基于SpringBoot和MySQL的家庭财务管理系统》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看

个人简介慕婉学姐精通Java、PHP、微信小程序、Python、Golang和安卓开发等语言&#xff0c;擅长开发大数据、深度学习、网站、小程序、安卓应用和算法项目。平时从事项目定制开发、代码讲解、答辩教学和文档编写&#xff0c;也掌握一些降重技巧。感谢大家的持续关注&#xff01…

作者头像 李华