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

二叉树的中序遍历- 二叉树基本-栈 - MKT

 

 

image

 前序遍历非递归实现​​:

void preorderIterative(TreeNode* root) {if (root == nullptr) return;stack<TreeNode*> s;s.push(root);while (!s.empty()) {TreeNode* node = s.top();s.pop();cout << node->val << " ";if (node->right) s.push(node->right);if (node->left) s.push(node->left);}
}

  

中序遍历非递归实现​​:

 

void inorderIterative(TreeNode* root) {stack<TreeNode*> s;TreeNode* curr = root;while (curr != nullptr || !s.empty()) {while (curr != nullptr) {s.push(curr);curr = curr->left;}curr = s.top();s.pop();cout << curr->val << " ";curr = curr->right;}
}

  

 后序遍历非递归实现​​:

void postorderIterative(TreeNode* root) {if (root == nullptr) return;stack<TreeNode*> s1, s2;s1.push(root);while (!s1.empty()) {TreeNode* node = s1.top();s1.pop();s2.push(node);if (node->left) s1.push(node->left);if (node->right) s1.push(node->right);}while (!s2.empty()) {cout << s2.top()->val << " ";s2.pop();}
}

  

 

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

相关文章:

  • 二叉树的中序遍历- 递归和栈 - MKT
  • 构建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