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

21.合并两个有序链表

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

思路:这里使用的主要数据结构是单链表。该算法采用经典的双指针技术来合并列表。

  1. A dummy node is created; this node does not hold any meaningful value but serves as the starting point of the merged linked list.
    将创建一个虚拟节点;此节点不包含任何有意义的值,但用作合并链表的起点。
  2. curr pointer is initialized to point at the dummy node. This pointer moves along the new list as nodes are added.
    curr 指针初始化为指向虚拟节点。添加节点时,此指针会沿新列表移动。
/*** 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) {ListNode dummyHead = new ListNode();ListNode current = dummyHead;while (list1!= null&& list2!=null){if(list1.val<=list2.val){current.next=list1;list1=list1.next;}else{current.next=list2;list2=list2.next;}current=current.next;}current.next=(list1==null)?list2:list1;return dummyHead.next;}
}

http://www.lqws.cn/news/536167.html

相关文章:

  • vscode运行c++文件和插件的方法
  • C语言专题:15.宏定义与控制指令(#define、#ifndef、#undef、#defined)
  • MySQL(基础篇)
  • [特殊字符] Windows 查看端口占用及服务来源教程(以 9018 端口为例)
  • Oracle LogMiner分析日志的三种方法示例
  • UDP 和 TCP 可以同时使用相同的端口号
  • el-table表头添加说明
  • Excel基础:数据编辑
  • Excel:filter函数实现动态筛选的方法
  • 网络分层模型与协议体系技术研究报告
  • 微信小程序<rich-text>支持里面图片点击放大
  • 物联网与低代码:Node-RED如何赋能工业智能化与纵横智控的创新实践
  • 【51单片机5毫秒定时器】2022-6-1
  • 机器学习---正则化、过拟合抑制与特征筛选
  • 抖音图文带货权限怎么开通
  • Vue3 中 Axios 深度整合指南:从基础到高级实践引言总结
  • 《解锁FFmpeg - python:开启多媒体处理新时代》
  • 多线程编程 ----线程主动退出pthread_exit与线程被动退出pthread_cancel
  • DAY 33 简单的神经网络
  • 前端面试专栏-主流框架:14. Vue Router与Vuex核心应用
  • Spring Boot使用Redis常用场景
  • Python爬虫多线程并发时的503错误处理最佳实践
  • HTTP-Cookie和Session
  • 算法第48天|单调栈:42. 接雨水、84.柱状图中最大的矩形
  • 鸿蒙边缘智能计算架构实战:从环境部署到分布式推理全流程
  • window显示驱动开发—DirectX 图形内核子系统(一)
  • 树莓派超全系列教程文档--(67)rpicam-apps可用选项介绍之检测选项
  • 算法-最大子数组
  • 【Python】For
  • Agentic AI爆发前夜,合作伙伴如何把握时代机遇?