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

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

发布时间:2026/9/25 21:33:18 来源:云帆数科 栏目:资讯中心
DeepSeek    LeetCode 107. 二叉树的层序遍历 II Python3实现
LeetCode 107. 二叉树的层序遍历 II Python3 实现思路题目要求自底向上的层序遍历即从叶子层到根层逐层返回。最简单做法先用普通的 BFS队列自顶向下收集每一层最后把结果整体反转。Python3 代码fromcollectionsimportdequefromtypingimportList,Optional# Definition for a binary tree node.# class TreeNode:# def __init__(self, val0, leftNone, rightNone):# self.val val# self.left left# self.right rightclassSolution:deflevelOrderBottom(self,root:Optional[TreeNode])-List[List[int]]:ifnotroot:return[]res[]qdeque([root])whileq:level[]# 当前层的节点数for_inrange(len(q)):nodeq.popleft()level.append(node.val)ifnode.left:q.append(node.left)ifnode.right:q.append(node.right)res.append(level)# 自底向上反转结果returnres[::-1]注意deque 的左侧弹出方法是 popleft()不是 pop(0)。拼写为 p-o-p-l-e-f-t即 popleft()。复杂度分析项目 复杂度时间 O(n)每个节点入队出队一次空间 O(n)队列最大宽度 结果数组示例验证输入 3 / \ 9 20 / \ 15 7 BFS 自顶向下[[3], [9, 20], [15, 7]] 反转后 [[15, 7], [9, 20], [3]]另一种写法DFS 递归classSolution:deflevelOrderBottom(self,root:Optional[TreeNode])-List[List[int]]:res[]defdfs(node,depth):ifnotnode:returnifdepthlen(res):res.append([])res[depth].append(node.val)dfs(node.left,depth1)dfs(node.right,depth1)dfs(root,0)returnres[::-1]DFS 也是 O(n) 时间但递归深度可能达到树高最坏 O(n)。实际刷题时 BFS 更直观。

相关推荐

SAP HANA 动态 SQL 深度解析,从 USING 参数绑定到 INTO 结果接收的完整实践
SAP HANA 动态 SQL 深度解析,从 USING 参数绑定到 INTO 结果接收的完整实践

在 SAP S/4HANA 的实际开发中,我们经常需要处理一些无法在程序编写阶段完全确定的 SQL 查询。例如,集团总部希望通过一套统一的报表程序,查询不同海外子公司的销售数据。各子公司的数据可能存放在不同的业务表中,表结构存在一定差异,而报表的筛选条件、计算逻辑和返回结果… · 2026/9/25 21:33:12

ViT 模型精讲(1-4 集):用纯 Transformer 干掉 CNN,从原理图一路干到 CIFAR-100 微调实战
ViT 模型精讲(1-4 集):用纯 Transformer 干掉 CNN,从原理图一路干到 CIFAR-100 微调实战

摘要:本文是对《ViT 模型精讲(1-4 集)》的系统梳理。课程以 Vision Transformer 为主线,从架构原理、注意力机制、推理 demo 到 CIFAR-100 微调实战,完整展示了如何用纯 Transformer 取代 CNN 完成视觉任务。文章覆盖了… · 2026/9/25 21:33:12

SAP HANA SQLScript 深度解析,EXECUTE IMMEDIATE 动态 SQL 的执行机制、参数传递与企业级应用实践
SAP HANA SQLScript 深度解析,EXECUTE IMMEDIATE 动态 SQL 的执行机制、参数传递与企业级应用实践

在 SAP HANA 数据库开发中,一段 SQL 语句究竟应该在什么时候确定下来,是一个直接影响程序设计的问题。 对于常规的数据查询,SQL 语句通常在开发阶段就已经确定。我们知道需要访问哪张表、读取哪些字段、按照什么条件过滤数据,因此可以直接编写静态 SQL,让数据库在编译阶段… · 2026/9/25 21:33:05

魔兽世界宏命令源码实战:用Python解析与批量生成可靠宏
魔兽世界宏命令源码实战:用Python解析与批量生成可靠宏

简介:一份面向魔兽世界玩家的宏命令指南项目源码,聚焦宏命令从基础批处理到 LUA 脚本的完整学习路径,旨在解决游戏中重复操作效率低下、技能衔接不够流畅等问题,适合新手入门及有进阶需求的玩家。源码以 HTML 主文档为核心&#x… · 2026/9/25 23:27:48

快速RAG系统落地指南:四段式链路、参数调优与避坑实践
快速RAG系统落地指南:四段式链路、参数调优与避坑实践

简介:一份聚焦快速RAG系统落地的软件包与源码资源,面向需要构建高性能检索增强生成的研发人员。方案以SambaNova DeepSeek-R1作为高性能推理引擎,Qdrant通过二进制量化实现约32倍内存缩减,用1 bit压缩大幅降低向量存储开销&#x… · 2026/9/25 23:27:48

银河麒麟V10网卡驱动编译加载全指南:e1000e与rtl8125适配实战
银河麒麟V10网卡驱动编译加载全指南:e1000e与rtl8125适配实战

简介:本资源是专为银河麒麟V10操作系统适配的e1000e与RTL8125网卡驱动源码包,面向国产化信创环境下的Linux内核开发者、系统集成工程师及运维人员,解决Intel和Realtek主流千兆网卡在麒麟V10上因内核版本差异导致的编译失败问题。压缩包共56个… · 2026/9/25 23:27:21

银河麒麟V10驱动编译实战:e1000e与r8125网卡驱动适配指南
银河麒麟V10驱动编译实战:e1000e与r8125网卡驱动适配指南

简介:本资源是专为银河麒麟V10操作系统适配的e1000e与RTL8125网卡驱动源码包,面向国产化信创环境下的Linux内核开发者、系统集成工程师及政企IT运维人员,解决在该国产OS上编译主流Intel和Realtek千兆网卡驱动时常见的兼容性问题。压缩包共56个… · 2026/9/25 23:27:15

Dify官方部署包解析:GitHub Release资产与生产级配置指南
Dify官方部署包解析:GitHub Release资产与生产级配置指南

简介:本资源为 Dify 开源低代码 AI 应用开发平台的官方完整源码安装包,面向 AI 工程师、后端开发者及大模型应用实践者,用于本地快速部署、二次开发或深度学习其 RAGAgent 架构设计。压缩包含 2000 个文件,主体为 1337 个 Python … · 2026/9/25 23:27:08

词达人协议逆向工程实战:HTTP抓包、签名解析与AES解密
词达人协议逆向工程实战:HTTP抓包、签名解析与AES解密

简介:本资源是一套面向英语学习技术爱好者与逆向分析初学者的词达人客户端抓包调试工具集,聚焦于理解词汇类App网络通信机制与本地交互逻辑。压缩包含92个文件,总大小7.4MB,主体为13个exe(含词达人工具.exe、Fiddler.e… · 2026/9/25 23:27:08

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

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

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

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

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

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

了解更多?预约专属演示

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

企业微信二维码