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

LeeCode HOT 100 94.二叉树的中序遍历

给定一个二叉树的根节点root,返回它的中序遍历

示例 1:

输入:root = [1,null,2,3]输出:[1,3,2]

示例 2:

输入:root = []输出:[]

示例 3:

输入:root = [1]输出:[1]

提示:

  • 树中节点数目在范围[0, 100]
  • -100 <= Node.val <= 100

进阶:递归算法很简单,你可以通过迭代算法完成吗?

递归算法:

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} * }; */ class Solution { public: vector<int> inorderTraversal(TreeNode* root) { vector<int> res; inOrder(root,res); return res; } void inOrder(TreeNode* node,vector<int>& res){ if(!node)return; inOrder(node->left,res); res.push_back(node->val); inOrder(node->right,res); } };

迭代算法:

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} * }; */ class Solution { public: vector<int> inorderTraversal(TreeNode* root) { vector<int> res; stack<TreeNode*> s; TreeNode* curr=root; while(curr!=NULL||!s.empty()){ while(curr!=NULL){ s.push(curr); curr=curr->left; } //左子树为空但栈不为空的情况 curr=s.top(); s.pop(); res.push_back(curr->val); curr=curr->right; } return res; } };
http://www.jsqmd.com/news/510027/

相关文章:

  • Qwen3-32B-Chat效果展示:软件需求文档→测试用例自动生成真实案例
  • ChatTTS操作全解析:语速调节与音色锁定的最佳实践
  • BERT中文分段工具效果展示:看杂乱文本如何变清晰逻辑
  • 2026价签吊牌厂家哪家好?裕达工艺-价签吊牌定制,专业珠宝价签牌源头厂家 - 栗子测评
  • AI大模型帮助快速掌握百万字小说梗概--以凡人修仙传为例
  • BN层在神经网络中的实战应用:为什么Conv+BN+ReLU是黄金组合?
  • Janus-Pro-7B开源模型社区实践:参与OpenClaw中文社区的技术讨论
  • 工业相机选型必看:Mono8、Mono10、Mono12这些像素格式到底该怎么选?(附应用场景对比)
  • 网络设备行业RJ带线优质产品推荐清单 - 优质品牌商家
  • 2026边框装饰纸定制厂家/金葱边框装饰纸厂家推荐:裕达工艺,品质之选 - 栗子测评
  • LLM推理性能调优指南:从Prefill/Decode分离到Continuous Batching,如何平衡Qwen的TTFT与吞吐量?
  • Day19:让我的AI助手彻底离线!LangChain+Ollama本地模型实战 [特殊字符]
  • C语言量子芯片接口测试白皮书(2024最新版):含IEEE P2851草案兼容性清单、PCIe Gen4量子协处理器握手协议逆向分析
  • 小程序毕业设计-基于微信小程序的停车预约系统设计与实现-停车预约小程序
  • YOLOv12模型解释性分析:使用Grad-CAM可视化检测决策依据
  • CoPaw模型版本管理与回滚实战:使用MLflow跟踪实验
  • 面试-Agent上下文过载、步骤混乱的问题
  • 2026年rj45沉板接口权威品牌深度评测报告:sim卡座/网络变压器/rj11接口/rj45多口/选择指南 - 优质品牌商家
  • 华硕笔记本性能优化全攻略:使用G-Helper工具提升硬件效能
  • OpenClaw+GLM-4.7-Flash双模型方案:低成本实现复杂任务分解
  • 别再只会 pip freeze 了!用 pip-tools 和 pipreqs 搞定 Python 项目依赖,告别版本混乱
  • 2026卷取机旋转油缸源头厂家|无锡市艾可密封 定制适配 钢铁卷取专用 - 栗子测评
  • Pixel Dimension Fissioner惊艳效果:同一技术参数生成硬核/萌系/诗意文案
  • Windows 的 Git Bash 中使用 md5sum 命令非常简单 md5做文件完整性检测 WinRAR 可以计算文件的 MD5 值
  • aE2库:Arduino平台E2总线温湿度传感器驱动指南
  • 2026最新 Springboot+vue停车场管理系统的设计与实现
  • 高频SQL 50题 1280.学生们参加各科测试的次数
  • 【微信小程序】如何优雅地获取用户昵称与头像(兼容性优化指南)
  • Dify RAG召回率从62%跃升至91.7%:4步精准调优流程+官方未公开的插件下载源清单
  • Arduino USB MIDI设备开发:MIDIUSB库原理与实战