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

【LeetCode刷题-链表】--23.合并K个升序链表

23.合并K个升序链表

image-20231121222033249

方法:顺序合并

在前面已经知道合并两个升序链表的前提下,用一个变量ans来维护以及合并的链表,第i次循环把第i个链表和ans合并,答案保存到ans中

/*** 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 mergeKLists(ListNode[] lists) {ListNode ans = null;for(int i = 0;i<lists.length;i++){ans = mergeTwoLists(ans,lists[i]);}return ans;}//合并两个有序链表public ListNode mergeTwoLists(ListNode a,ListNode b){if(a == null || b == null){return a != null ? a : b;}ListNode head = new ListNode(0);  //定义一个头节点ListNode tail = head, aPtr = a, bPtr = b;while(aPtr != null && bPtr != null){if(aPtr.val < bPtr.val){tail.next = aPtr;aPtr = aPtr.next;}else{tail.next = bPtr;bPtr = bPtr.next;}tail = tail.next;}tail.next = (aPtr != null ? aPtr : bPtr);return head.next;}
}
http://www.lryc.cn/news/238319.html

相关文章:

  • 强化学习笔记
  • 经典双指针算法试题(一)
  • MATLAB | 绘图复刻(十三) | 带NaN图例的地图绘制
  • netty整合websocket(完美教程)
  • 选择PC示波器的10种理由!
  • 【pytorch深度学习 应用篇02】训练中loss图的解读,训练中的问题与经验汇总
  • uniapp 微信小程序如何实现多个item列表的分享
  • .NET 8 正式 GA 遥遥领先
  • 2216. 美化数组的最少删除数 --力扣 --JAVA
  • DDD 领域驱动设计
  • 转型做视频了,博客就是稿子,继续坚持写博客,同时发布视频,能写博客说明思路清晰了,能再讲明白,理解就更透彻了,紧跟上时代发展。
  • 小众市场:探索跨境电商中的利基领域
  • C++中的mutable关键字
  • java: 无效的目标发行版: 17 问题解决
  • C#的LINQ查询
  • Python不会调试不够丝滑?那事你不会logging---剖析!
  • OpenAI的Whisper蒸馏:蒸馏后的Distil-Whisper速度提升6倍
  • Ubuntu18.04安装LeGO-LOAM保姆级教程
  • git修改commit历史提交时间、作者
  • 【C++历练之路】list的重要接口||底层逻辑的三个封装以及模拟实现
  • Kubeadm部署Kubernetes Containerd集群
  • OpenCV入门9——目标识别(车辆统计)
  • 2023前端大厂高频面试题之JavaScript篇(5)
  • 物联网网关在工业行业的应用案例
  • 5、基础入门——资产架构端口应用WAF站库分离负载均衡
  • golang学习笔记——接口和继承比较1
  • chatGPT快捷键(最新版本)
  • 77基于matlab的蚁群优化路径算法,二维路径和三维路径优化
  • PyTorch中并行训练的几种方式
  • 基于非链式(数组)结点结构的二叉树的层序输入创建以及遍历