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

leetcode热题100——day33

23. 合并 K 个升序链表

给你一个链表数组,每个链表都已经按升序排列。

请你将所有链表合并到一个升序链表中,返回合并后的链表。
在这里插入图片描述

AC代码

/*** 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) {// 判断边界if(lists == null || lists.length <= 0){return null;};// 初始化最小堆(优先级队列),升序排序PriorityQueue<ListNode> minHeap = new PriorityQueue<>((a,b) -> a.val - b.val);// 将列表中所有头节点加入堆for (ListNode head: lists) {// 跳过空节点if(head != null){minHeap.offer(head);};};// 创建新链表ListNode dummy = new ListNode(0);// 新链表当前节点ListNode cur = dummy;// 循环弹出堆顶点while(!minHeap.isEmpty()){// 堆中的当前节点,poll()获取的同时将此节点踢出ListNode smallest = minHeap.poll();cur.next = smallest; //合并链表cur = cur.next; //移动节点// 判断smallest是否还有下一个结点if(smallest.next != null){// 有就加入堆minHeap.offer(smallest.next);};};return dummy.next;}
}
http://www.lryc.cn/news/624142.html

相关文章:

  • Python 内置模块 collections 常用工具
  • (机器学习)监督学习 vs 非监督学习
  • 二分查找(Binary Search)
  • 机器学习算法篇(十三)------词向量转化的算法思想详解与基于词向量转换的文本数据处理的好评差评分类实战(NPL基础实战)
  • 第七十九:AI的“急诊科医生”:模型失效(Loss Explode)的排查技巧——从“炸弹”到“稳定”的训练之路!
  • Tomcat下载、安装及配置详细教程
  • 《设计模式》抽象工厂模式
  • 数学建模-评价类问题-优劣解距离法(TOPSIS)
  • Python 调试工具的高级用法
  • HTTPS 配置与动态 Web 内容部署指南
  • Pycharm Debug详解
  • mysql建库规范
  • Grid系统概述
  • 佳文赏读 || (CVPR 2025新突破) Robobrain:机器人操作从抽象到具体的统一大脑模型(A Unified Brain Model)
  • 基于Python的旅游推荐系统 Python+Django+Vue.js
  • SVN客户端下载与安装
  • 在鸿蒙中实现深色/浅色模式切换:从原理到可运行 Demo
  • 力扣第463场周赛
  • C++---迭代器删除元素避免索引混乱
  • 轻松配置NAT模式让虚拟机上网
  • LeetCode热题100--104. 二叉树的最大深度--简单
  • JavaScript性能优化实战(四):资源加载优化
  • 记SpringBoot3.x + Thymeleaf 项目实现(MVC架构模式)
  • 【Unity3D实例-功能-拔枪】角色拔枪(二)分割上身和下身
  • TDengine IDMP 运维指南(1. 部署规划)
  • 大模型算法岗面试准备经验分享
  • 母猪姿态转换行为识别:计算机视觉与行为识别模型调优指南
  • Java试题-选择题(10)
  • AMBA-AXI and ACE协议详解(四)
  • 计算机毕业设计java的小天鹅酒店月子会所管理小天鹅酒店母婴护理中心管理系统设计小天鹅酒店产后护理会所信息化管理平台