JAVA练习302- 合并K个排序链表

发布时间:2026/7/18 0:12:02

JAVA练习302- 合并K个排序链表
题目概览给你一个链表数组每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中返回合并后的链表。示例 1输入lists [[1,4,5],[1,3,4],[2,6]]输出[1,1,2,3,4,4,5,6]解释链表数组如下 [ 1-4-5, 1-3-4, 2-6 ] 将它们合并到一个有序链表中得到。 1-1-2-3-4-4-5-6示例 2输入lists []输出[]示例 3输入lists [[]]输出[]提示k lists.length0 k 10^40 lists[i].length 500-10^4 lists[i][j] 10^4lists[i]按升序排列lists[i].length的总和不超过10^4来源23. 合并 K 个升序链表 - 力扣LeetCode解题分析方法二分 归并排序lists 里的链表都是排好序的这和归并排序类似只需要两两链表挨个元素进行比较不断连接小的节点即可。而两两比较可以用二分法将数组拆分成多个小数组然后从小的数组开始不断合并时间复杂度O(logk * nk)空间复杂度O(logk)/** * 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) { int n lists.length; if (n 0) { return null; } return mergeKLists(lists, 0, n - 1); } public ListNode mergeKLists(ListNode[] lists, int i, int j) { if (i j) { return lists[i]; } if (i 1 j) { return merge(lists[i], lists[j]); } int mid (i j) / 2; return merge(mergeKLists(lists, i, mid), mergeKLists(lists, mid 1, j)); } public ListNode merge(ListNode a, ListNode b) { ListNode res new ListNode(), pre res; while(a ! null b ! null) { if (a.val b.val) { pre.next a; a a.next; } else { pre.next b; b b.next; } pre pre.next; } if (a ! null) { pre.next a; } else if (b ! null) { pre.next b; } return res.next; } }

相关新闻

JAVA练习300- 随机链表的复制

JAVA练习300- 随机链表的复制

2026/7/18 0:12:02

题目概览 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。…

电子证件照片制作全教程:手机免费操作、微信支付宝流程、标准尺寸底色大全

电子证件照片制作全教程:手机免费操作、微信支付宝流程、标准尺寸底色大全

2026/7/18 0:02:02

2026年各类线上报名、证件办理、入职存档、签证申请等场景,均需要合规的电子证件照。很多人常因尺寸不符、底色错误、画质模糊、文件大小超标导致上传审核失败。本文整理全套手机免费制作方法,涵盖微信、支付宝主流操作流程,明确通用标准尺寸…

揭秘!24小时AI客服领域,究竟哪家才是优秀服务商?

揭秘!24小时AI客服领域,究竟哪家才是优秀服务商?

2026/7/18 0:02:02

在当今数字化时代,24小时AI客服成为众多企业提升服务水平与效率的重要工具,它能为企业实现全天候客户接待,带来更好的客户体验。那么,该领域有哪些优秀服务商呢?行业背景与痛点随着市场对客服服务要求的提升&#xff0…

STM32 GPIO配置与LED控制实战指南

STM32 GPIO配置与LED控制实战指南

2026/7/18 1:42:09

1. 项目概述刚接触STM32的新手们,GPIO控制绝对是你们要跨过的第一道门槛。作为最基础的外设接口,GPIO就像单片机的"手脚",通过它我们才能与外部世界进行交互。今天我就以最经典的LED控制为例,带大家彻底搞懂STM32的GPIO…

人形机器人武术表演背后的核心技术:动态平衡与全身运动控制

人形机器人武术表演背后的核心技术:动态平衡与全身运动控制

2026/7/18 1:42:09

1. 项目概述:当人形机器人“舞”起中国功夫最近,一段人形机器人表演中国功夫,为农历新年助兴的视频在网络上引发了不小的关注。作为一名长期关注机器人技术发展的从业者,我第一眼看到这个标题时,内心是既兴奋又带着一丝…

ExpressJS与现代Node.js框架对比:性能与迁移指南

ExpressJS与现代Node.js框架对比:性能与迁移指南

2026/7/18 1:42:09

1. 为什么2021年该重新评估ExpressJS十年前我刚接触Node.js后端开发时,ExpressJS几乎是唯一的选择。就像老工匠手中的瑞士军刀,它用中间件机制和简洁的路由API征服了整个社区。但时至今日,当我看到新项目还在默认选用Express时,总…

Android悬浮窗开发全指南:从原理到多版本适配

Android悬浮窗开发全指南:从原理到多版本适配

2026/7/18 1:42:09

1. Android悬浮窗技术背景与核心挑战悬浮窗作为Android系统特色功能,本质上是通过WindowManager将View附加到系统窗口层级中。这种技术允许应用在全局范围内显示内容,不受Activity生命周期限制,常见于录屏工具、聊天头像、游戏辅助等场景。在…

Laravel异常处理机制详解与最佳实践

Laravel异常处理机制详解与最佳实践

2026/7/18 1:42:09

1. Laravel异常处理机制概述在Laravel开发中,异常处理是保证应用健壮性的重要环节。传统的try-catch方式虽然有效,但会导致代码重复且难以维护。Laravel提供了一套完整的异常处理机制,让我们能够以更优雅的方式处理各种错误场景。Laravel的异…

具身智能基础技术路线:破解感知-动作耦合与实时控制断层

具身智能基础技术路线:破解感知-动作耦合与实时控制断层

2026/7/18 1:32:08

1. 具身智能不是“会动的AI”,而是重新定义“智能”的起点很多人第一次听到“具身智能”这个词,下意识反应是:“哦,就是给大模型装上机器人身体?”——这恰恰踩进了最典型的认知陷阱。我带过三支不同方向的具身团队&am…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/17 10:50:47

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/17 17:34:09

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/16 14:18:17

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…

从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

2026/7/18 0:02:02

更多请点击: https://kaifayun.com 第一章:从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则 在Claude驱动的产品需求文档(PRD)生成实践中,原始业务意图往往以自然语言片…

Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

2026/7/18 0:02:02

更多请点击: https://codechina.net 第一章:Cursor配置生成失效?3大隐藏陷阱4行修复代码,资深工程师连夜整理的紧急补救清单 Cursor 配置生成突然失效,是近期高频报障场景。表面看是 cursor.config.json 未更新或 LSP…

某智驾大牛创业

某智驾大牛创业

2026/7/18 0:02:02

作者:钟声编辑:Mark出品:红色星际头图:智能驾驶图片据悉,国内某头部智驾公司端到端模型技术大牛Z投身创业,并且已经拿到融资。Z不仅是该头部公司内部最年轻的对标阿里P10级别技术负责⼈,更是业内…