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

leetcode23-合并K个升序链表

leetcode 23
在这里插入图片描述

思路

  • 遍历所有链表收集节点:将每个链表的节点断开其 next 指针后存入数组
  • 对数组进行排序:使用 JavaScript 的内置 sort 方法对节点数组按值排序
  • 重新连接排序后的节点:遍历排序后的数组,依次连接每个节点形成新链表

时间复杂度:O (n log n) 空间复杂度:O (n)

实现

var mergeKLists = function (lists) {const arr = [];for (let i = 0; i < lists.length; i++) {let cur = lists[i];while (cur) {const node = cur.next;cur.next = null;arr.push(cur);cur = node;}}if(!arr.length) return null;// 排序arr.sort((a, b) => a.val - b.val)let head = arr[0];let cur = head;for (let i = 1; i < arr.length; i++) {cur.next = arr[i]cur = cur.next;}return head;
};

相关文章:

  • Day01_刷题niuke20250615
  • 【Flutter】解决小米澎湃系统迷你窗口、缩小窗口后界面空白问题
  • linux 常用工具的静态编译之二
  • 算法导论第七章:快速排序的艺术与科学
  • 【git】如何在team里使用公共账号进行ssh clone
  • 《Vuejs设计与实现》第 9 章(简单 diff 算法)
  • java中常见的排序算法设计介绍
  • 键盘效率提升实战,快速训练指法与速度
  • SPOJ-TEST
  • NodeJS的fs模块的readFile和createReadStream区别以及常见方法
  • 区间交集:区间选点
  • LangGraph--Agent常见的模式2(并行、数据路由)
  • PaddleOCR项目实战(3):SpringBoot服务开发之全局异常处理
  • Appium+python自动化(二十四) - 元素等待
  • Spark简介脑图
  • 浏览器的事件循环和NodeJS的事件循环有什么区别
  • 【Erdas实验教程】023:遥感图像辐射增强(直方图匹配)
  • LangChain框架:AI应用开发利器
  • 最新推荐Python学习图书20本(引进版)
  • AUTOSAR Adaptive系统如何进行时间同步与延迟分析?
  • 福州网红景点/百度热搜seo
  • 2345网址导航手机版下载/windows7优化大师
  • 自建app免费制作平台/对网站的建议和优化
  • 用jsp做的网站框架/百度产品大全首页
  • 工作室 网站 备案/友谊平台
  • .net和php哪个做网站好/推广方案策略怎么写