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

二叉树非递归遍历

defpre_order(root):""" 前序: 根 左 右 stack: 入栈顺序: 右 左 出栈顺序: 左 右 """ifnotroot:return[]stack=[]res=[]stack.append(root)whilestack:root=stack.pop()res.append(root.val)ifroot.right:stack.append(root.right)ifroot.left:stack.append(root.left)returnresdefin_order(root):""" 中序: 左 根 右 stack root 不断压入左 没有左了 弹出一个根 看有没右节点 接着不断压入右节点的左 """ifnotroot:return[]stack=[]res=[]whilestackorroot:ifroot:stack.append(root)root=root.leftelse:root=stack.pop()res.append(root.val)root=root.rightdefpost_order(root):""" 后序: 左 右 根 stack root stack: 压一个根 并 将其添加到res的队首 且 不断压入右 出一个 看左 """ifnotroot:return[]stack=[]res=[]whilestackorroot:ifroot:stack.append(root)res.insert(0,root.val)root=root.rightelse:root=stack.pop()root=root.leftreturnresdefpost_order(root):ifnotroot:return[]stack=[]res=[]stack.append(root)whilestack:root=stack.pop()ifroot.left:stack.append(root.left)ifroot.right:stack.append(root.right)res.insert(0,root.val)returnres
http://www.jsqmd.com/news/1282116/

相关文章:

  • keras 全连接手写识别 coursera week2
  • Manacher算法
  • 物联网安全硬件SE050与ATSAME70Q21B协同设计实践
  • PyTorch 新手到老手都容易踩的坑:梯度、显存、多卡三座大山
  • CentOS grep 命令
  • 长沙全屋定制厂家推荐,衣柜定制厂家哪家好?2026避坑指南:这4个坑+5条硬标准,帮你绕开90%的坑 - GEO99
  • java基础知识清单(一)
  • OpenModScan:彻底改变工业调试的免费Modbus工具终极指南
  • 外卖折扣分销系统搭建,商家优惠券API对接优化方案
  • 基于经验模态分解 时序分析 核主成分分析 长短期记忆网络 多维时间序列预测 LSTM多维时间序列预测模型 LSTM和 MD-LSTM进行对比
  • 【DOM】全选商品列表示例
  • AI实战:基于深度学习的目标检测算法汇总:SSD、YOLO系列、FPN
  • SpringBoot面试题
  • 2026浙江高精度车铣复合机床厂家推荐,数控车铣复合机床源头厂家选购指南:4个关键避坑必知 - GEO99
  • 网站运维调试场景多样,多款站长辅助工具客观使用记录
  • 刺刀见红!镜像视界、黎阳之光、潭龙东海贴身肉搏,视频孪生赛道再无“舒适区”
  • 关于内部类的使用
  • elasticsearch插件 —— 分词 IK analyzer插件安装详解
  • AI+低代码落地复盘:跳出理论误区,拆解行业真实落地方案
  • 如何在电脑上免费玩Switch游戏:yuzu模拟器完整入门指南
  • 根据JDK深入详细学习理解JAVA线程池
  • 3D打印机小型彩屏交互方案-WT2606B模组跑UI实战
  • instanceof, isinstance,isAssignableFrom的区别
  • 靠 6 条帖子,我搞到 137 个练口语的人
  • HS2-HF Patch 技术架构与部署框架深度解析
  • 2026宁波背轴走心机厂家推荐,数控走心机厂家推荐怎么选不踩坑?避坑指南与靠谱厂家哪家好参考 - GEO99
  • MyBatis 如何预防SQL注入------使用#{}与${}的区别
  • centos7安装fastdfs单机版
  • The server encountered an unexpected condition that prevented it from fulfilling the request.
  • 【JAVA课程设计/毕业设计】基于 SpringBoot 的数字化校园社区交流与信息传播系统 高校综合型校园论坛互动服务管理平台【附源码、数据库、万字文档】