当前位置: 首页 > news >正文

LeetCode每日一题——合并两个有序链表

题目要求:

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

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

示例 2:

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

示例 3:

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

代码实现:

struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2) {

    struct ListNode dummy; // 用哨兵节点简化代码逻辑

    struct ListNode* cur = &dummy; // cur 指向新链表的末尾

    while (list1 && list2) {

        if (list1->val < list2->val) {

            cur->next = list1; // 把 list1 加到新链表中

            list1 = list1->next;

        } else { // 注:相等的情况加哪个节点都是可以的

            cur->next = list2; // 把 list2 加到新链表中

            list2 = list2->next;

        }

        cur = cur->next;

    }

    cur->next = list1 ? list1 : list2; // 拼接剩余链表

    return dummy.next;

}

作者:灵茶山艾府

来源:力扣(LeetCode)

坚持编程,我一直在路上!

http://www.dtcms.com/a/548757.html

相关文章:

  • 丽江市建设局官方网站门户网站开发需要多少钱
  • 边缘计算中评估多模态分类任务的延迟
  • 11.9.16.Filter(过滤器)
  • 光储充微电网能量管理系统:构建绿色、高效、安全的能源未来
  • MR30分布式IO在自动上料机的应用
  • 有些网站为什么可以做资讯建站工具交流
  • .NET周刊【10月第2期 2025-10-12】
  • 自动化文献引用和交叉引用高亮显示:Word VBA宏解决方案
  • 大数据离线处理:使用 Airflow 调度 Hive 脚本的工作流设计
  • 深入理解二叉搜索树:从原理到实现
  • Rust 泛型参数的实践与思考
  • AppML 案例:Employees 应用解析
  • 【Qt开发】布局管理器(一)-> QVBoxLayout垂直布局
  • CF练习记录~
  • 自动化测试 | 认识接口自动化封装中的YAML用例
  • dedecms做门户网站石家庄网站建站
  • windows系统下docker desktop创建容器指定ip
  • 微网站建设费用预算旅游网站开发的需求
  • Ionic + Angular 跨端实战:用 Capacitor 实现相机拍照功能并适配移动端
  • Python 爬虫:从基础到实战的完整指南
  • Angular【http服务端交互】
  • Angular【核心特性】
  • 做seo前景怎么样郑州企业网站优化多少钱
  • 华为 USG 防火墙 NAT 配置
  • uni-app App更新升级前端实现
  • 数据通信领域的专业认证——华为数通认证
  • JavaSE基础——第十二章 集合
  • iis发布网站页面出问题网上服务平台社保
  • 基于C语言上,面向对象语言:C++基础(学完C语言后再看)
  • windows npm打包无问题,但linux npm打包后部分样式缺失