首页/新闻资讯/正文详情

DeepSeek LeetCode 107. 二叉树的层序遍历 II Kotlin实现

发布时间:2026/9/26 4:14:51 来源:云帆数科 栏目:资讯中心
DeepSeek    LeetCode 107. 二叉树的层序遍历 II Kotlin实现
LeetCode 107. 二叉树的层序遍历 II — Kotlin 实现思路标准 BFS 层序遍历每遍历完一层得到一个 List。题目要求自底向上所以· 方案一每层结果插入到 result 的头部add(0, level)· 方案二正常从顶到底收集最后 reverse()两者时间复杂度相同方案二在底层是数组时不涉及元素移动实际更高效。代码classTreeNode(varval:Int){varleft:TreeNode?nullvarright:TreeNode?null}classSolution{funlevelOrderBottom(root:TreeNode?):ListListInt{valresultmutableListOfListInt()if(rootnull)returnresultvalqueueArrayDequeTreeNode()queue.addLast(root)while(queue.isNotEmpty()){valsizequeue.sizevallevelArrayListInt(size)repeat(size){valnodequeue.removeFirst()level.add(node.val)node.left?.let{queue.addLast(it)}node.right?.let{queue.addLast(it)}}result.add(level)}result.reverse()returnresult}}复杂度分析· 时间复杂度O(n)每个节点进出队列各一次reverse 是 O(层数) ≤ O(n)。· 空间复杂度O(n)队列最多存一层的节点数最坏满二叉树最后一层为 n/2。关键点BFS 分层用 queue.size 作为当前层的节点数循环该次数即可保证一次处理一整层而不是把所有节点混在一起。ArrayDequeKotlin 中 ArrayDeque 做队列比 LinkedList 性能更好且支持 addLast / removeFirst。let 空安全node.left?.let { queue.addLast(it) } 比 if (node.left ! null) 更简洁。自底向上先收集再 reverse()语义清晰也可改用 result.add(0, level)但会有元素搬移开销。

相关推荐

面试官:ReAct 和 Plan-and-Execute,你平时怎么选?你答「看复杂程度」,他听到的是「我没选过」
面试官:ReAct 和 Plan-and-Execute,你平时怎么选?你答「看复杂程度」,他听到的是「我没选过」

ReAct 和 Plan-and-Execute 的差别不在难度,在「不确定性落在哪」。这篇文章给你一套能当场判定的选型流程,以及三种形态各自的失败模式。 面试现场 大厂 AI 应用岗 **面试官:**ReAct 和 Plan-and-Execute,你平时怎么选&#x… · 2026/9/26 4:14:51

基于STM32单片机智能家居防火烟雾浓度火灾温湿度物联网蓝牙/WiFi/视频监控/云平台无线APP-DIY设计S551
基于STM32单片机智能家居防火烟雾浓度火灾温湿度物联网蓝牙/WiFi/视频监控/云平台无线APP-DIY设计S551

S551-烟雾/燃气温度湿度光照火焰空调LED风扇水泵窗户灯光自动手动阈值OLED屏声光提醒按键蓝牙/WiFi/视频监控/云平台APP本系统由STM32F103C8T6单片机核心板、OLED屏、无线蓝牙/WIFI/视频监控/云平台模块-可选、烟雾检测电路、温湿度模块、水泵继电器模块、舵机控制电路、风扇继… · 2026/9/26 4:14:45

基于STM32单片机智能家居防火温湿度火焰光照视频APP监控蓝牙/WiFi/视频监控/云平台无线APP-DIY设计S550
基于STM32单片机智能家居防火温湿度火焰光照视频APP监控蓝牙/WiFi/视频监控/云平台无线APP-DIY设计S550

S550-温度湿度光照火焰空调LED风扇水泵灯光自动手动阈值OLED屏声光提醒按键蓝牙/WiFi/视频监控/云平台APP本系统由STM32F103C8T6单片机核心板、OLED屏、无线蓝牙/WIFI/视频监控/云平台模块-可选、温湿度模块、水泵继电器模块、风扇继电器模块、光敏电阻电路、火焰电路、补光灯、… · 2026/9/26 4:14:45

如何实现闲鱼自动回复与客服自动化?代码级稳定性保障,7x24跑不停不断
如何实现闲鱼自动回复与客服自动化?代码级稳定性保障,7x24跑不停不断

如何实现闲鱼自动回复与客服自动化?代码级稳定性保障,7x24跑不停不断 做电商这么多年,最大的感悟就是:闲鱼的自动回复与客服,是店群运营中最耗人力也最容易出错的环节。 店群客服是纯人力消耗战。一个店日均50条咨询&a… · 2026/9/26 5:01:27

VMware安装CentOS保姆级教程---简单易懂
VMware安装CentOS保姆级教程---简单易懂

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 5:01:21

名字一样却找不到文件:路径大小写这一层
名字一样却找不到文件:路径大小写这一层

授权与合规声明 本文全部操作对象均为自建隔离靶场(本机容器或隔离虚拟机),涉及安全测试的环节必须以取得合法授权为前提。未经授权的渗透测试违反《中华人民共和国网络安全法》与《刑法》相关条款,须承担相应法律责任。本文只讲环… · 2026/9/26 5:01:21

从零搭建ZStack私有云:单机部署到云主机创建全流程详解
从零搭建ZStack私有云:单机部署到云主机创建全流程详解

说实话,刚接触“私有云服务器搭建”这个概念的时候,我脑子里第一反应就是 OpenStack 那套庞杂的组件、一堆需要维护的中间件,搞到后面连自己都说不清某个服务到底挂没挂。后来开始认真摸 ZStack,才慢慢意识到私有云不一定非要把自… · 2026/9/26 5:01:14

机房防雷接地工程核心与避坑:等电位、接地电阻及SPD应用
机房防雷接地工程核心与避坑:等电位、接地电阻及SPD应用

1. 为什么机房的防雷接地这么容易“翻车”1.1 大多数“接地不达标”,问题不是出在验收那几天我做机房项目这么多年,见过太多“验收前临时补防雷接地”的场面。装修总包把防雷接地放到最后工序,施工队进场后赶工期,等电位端子箱装了… · 2026/9/26 5:01:14

世界国家GeoJSON从结构到体积优化:数据大屏地图数据落地指南
世界国家GeoJSON从结构到体积优化:数据大屏地图数据落地指南

简介:这份世界地图地理数据合集收录了全球各国的地图 JSON 文件,面向需要快速获取国家边界与地理属性的前端开发者、GIS 分析人员及数据可视化爱好者。压缩包共包含 2000 个文件,主要为 JSON 与 GeoJSON 格式,整体大小约 2.1MB&am… · 2026/9/26 5:01:14

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码