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

二叉树的中序遍历- 递归和栈 - MKT

 

image

 

 

/*** 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:// // 初始化// struck TreeNode{//     int val;//     TreeNode *left;//     TreeNode *right;//     TreeNode(int x): val(x),left(nullptr),right(nullprt){}//     TreeNode(int x,TreeNode *left,TreeNode *right):val(x),left(left),right(right){}// }// // 创建// TreeNode* CreateTree(){//     TreeNode* root =new TreeNode(1);//     root->left = new TreeNode(11);//     root->right = new TreeNode(12);//     root->left->left = new TreeNode(21);//     root->left->right = new TreeNode(21);// }/*A/ \B   C/ \   \D   E   F前序遍历: 根 → 左 → 右
前序遍历结果:A → B → D → E → C → F
应用场景​​:
复制二叉树结构
计算前缀表达式(波兰表示法)
序列化二叉树中历顺序​​:左子树 → 根节点 → 右子树
中序遍历结果:D → B → E → A → C → F
应用场景​​:
二叉搜索树(BST)的有序遍历
中缀表达式求值
按顺序打印树的内容遍历顺序​​:左子树 → 右子树 → 根节点
后序遍历结果:D → E → B → F → C → A
应用场景​​:
删除二叉树(先删除子节点再删除父节点)
计算后缀表达式(逆波兰表示法)
计算目录大小(先计算子目录大小)*/// 方法一:递归void inorder(TreeNode* node_,vector<int> &result){if(node_ == nullptr) return ;inorder(node_->left,result);cout<<"节点 " << node_->val <<endl;result.push_back(node_->val);inorder(node_->right,result);}//方法一:递归 递归的时候隐式地维护了一个栈vector<int> inorderTraversal_1(TreeNode* root) {vector<int> result;inorder(root,result);return result;}vector<int> inorderTraversal(TreeNode* root) {stack<TreeNode*> s;vector<int> result;TreeNode* curr = root;while(curr !=nullptr || !s.empty()){while(curr !=nullptr) {s.push(curr);curr=curr->left;}curr = s.top();s.pop();result.push_back(curr->val);curr=curr->right;}return result;}};

  

http://www.jsqmd.com/news/18813/

相关文章:

  • 构建YouTube视频总结摘要智能体
  • English writing practice in diary.
  • 以此文记我的国漫生活
  • 做了一个概率小游戏,没想到服务器被打爆被攻击了!原因竟然是他?真没想到...
  • 接下来的目标
  • 阿里云对象存储OSS之Java - Soul
  • 清楚标签默认样式,内容溢出盒子时的处理
  • Solidity合约继承场景下的构造函数执行顺序
  • 后量子密码学技术与标准化进程解析
  • 用 大模型 和 Gradio 构建一个 AI 反向词典
  • 1279. 红绿灯路口
  • 反数字化:线下活动也能年赚百万
  • JAVA基础理解
  • 用户消费行为数据分析(随笔)
  • sqlserver 主要的日期函数及用法示例
  • ICPC2022沈阳 游记(VP)
  • 大数据分析基础及应用案例:第四周学习报告——线性回归模型
  • 图论刷题记录
  • 「LG6596-How Many of Them」题解
  • 骗我呢
  • 手搓文件管理系统(持续开发中)
  • AGC001~030 合集
  • 手写体识别
  • AGC 合集 1.0
  • 20231302邱之钊密码系统设计实验一第二
  • 你好,我是肆闲:C语言的学习,成长与分享旅程
  • ZR 2025 NOIP 二十连测 Day 6
  • 20251021
  • [论文笔记] Precision-Guided Context Sensitivity for Pointer Analysis
  • 英语_备忘_疑难