递归来说很简单。
非递归呢?
以前只是理论上理解,但没亲手打过。
原理和递归一样,不过是用栈模拟递归而已.
一直入栈左节点,到头了然后康康这个节点有无右节点。没有的话,就该操作左节点的根节点了;有的话入栈左节点,到头了然后康康。。。。。。。。。。


/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {public:vector<int> inorderTraversal(TreeNode* root) {stack<TreeNode*>st;vector<int>ans;TreeNode *p=root;while(p!=NULL||!st.empty()){while(p!=NULL){st.push(p);p=p->left;}ans.push_back(st.top()->val);p=st.top();st.pop();if(p->right!=NULL) p=p->right;else p=NULL;}return ans;}
};
class Solution {public:vector<int>ans;void recursive(TreeNode* node){if(node==NULL) return;recursive(node->left);ans.push_back(node->val);recursive(node->right);}vector<int> inorderTraversal(TreeNode* root) {dfs(root);return ans;}
};

94.二叉树的中序遍历相关推荐

  1. LeetCode-二叉树-94. 二叉树的中序遍历

    描述 94. 二叉树的中序遍历 给定一个二叉树的根节点 root ,返回它的 中序 遍历. 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root ...

  2. Leetcode 129求根节点到叶节点数字之和、104二叉树的最大深度、8字符串转换整数(atoi)、82删除排序链表中的重复元素II、204二分查找、94二叉树的中序遍历、144二叉树的前序遍历

    Top1:Leetcode 129求根节点到叶节点数字之和 官方题解:https://leetcode.cn/problems/sum-root-to-leaf-numbers/solution/qi ...

  3. 94. 二叉树的中序遍历-M

    94. 二叉树的中序遍历 label: 非递归中序遍历,LNR,字节跳动面试题 给定一个二叉树,返回它的中序 遍历. 示例: 输入: [1,null,2,3] 1\2/3 输出: [1,3,2] 进阶 ...

  4. 94. 二叉树的中序遍历

    94. 二叉树的中序遍历 难度中等902收藏分享切换为英文接收动态反馈 给定一个二叉树的根节点 root ,返回它的 中序 遍历. 示例 1: 输入:root = [1,null,2,3] 输出:[1 ...

  5. LeetCode 92反转链表Ⅱ93复制ip地址94二叉树的中序遍历

    微信搜一搜:bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打卡群,欢迎 ...

  6. leetcode - 94. 二叉树的中序遍历

    给定一个二叉树,返回它的中序遍历.中序遍历(LDR)是二叉树遍历的一种,也叫做中根遍历.中序周游.在二叉树中,中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树. 示例: 进阶: 递归算法很简单, ...

  7. Leetcode 94.二叉树的中序遍历 (每日一题 20210712)

    给定一个二叉树的根节点 root ,返回它的 中序 遍历.示例 1:输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2:输入:root = [] 输出:[] 示例 3:输入: ...

  8. 力扣(Leetcode)-94. 二叉树的中序遍历

    描述 给定一个二叉树的根节点 root ,返回它的 中序 遍历. 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 ...

  9. [leetcode]94.二叉树的中序遍历

    给定一个二叉树的根节点 root ,返回它的 中序 遍历. 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 3: ...

  10. LeetCode 94. 二叉树的中序遍历(中序遍历)

    文章目录 1. 题目信息 2. 解题 2.1 递归 2.2 循环,必须掌握 1. 题目信息 给定一个二叉树,返回它的中序 遍历. 示例:输入: [1,null,2,3]1\2/3输出: [1,3,2] ...

最新文章

  1. ROW_NUMBER() OVER函数的基本用法用法
  2. Linux编程---线程
  3. python元素分类_Python 练习 - 元素分类
  4. Mars《Android开发视频教程》全集下载(第一季到第五季)
  5. 数组-去重、排序方法、json排序
  6. iOS Nib文件一览
  7. 6.5. Properties
  8. chm 打不开 解决办法
  9. Anaconda Clean命令
  10. CCF 区块链国际会议 统计 有哪些接收区块链论文的会议 (最全)
  11. 解决笔记本同时连接局域网和外网网络后上网很卡的问题
  12. 计算机无法打印 重启又好了,打印机显示通讯错误,不能打印,但电脑重启后又好了!这是为什么?...
  13. 慧安金科黄铃:面对金融欺诈, AI 如何揪出“老赖”
  14. 河南大学计算机学院夏令营,河南大学数学与统计学院2020年优秀大学生国际夏令营...
  15. SOLIDWORKS motion运动仿真分析
  16. oracle测试实用SQL语句
  17. BP神经网络的非线性函数拟合
  18. Python入门神图一张
  19. 霍夫圆检测原理+实战
  20. Vue百度地图电子围栏

热门文章

  1. 基于OpenCV的车辆变道检测
  2. CPU状态信息us,sy,ni,id,wa,hi,si,st含义
  3. Bzoj3998: [TJOI2015]弦论
  4. PAT (Advanced Level) 1014. Waiting in Line (30)
  5. HTTP协议是无状态协议,怎么理解?
  6. HTML特殊字符过滤器
  7. [Unity3D]总结使用Unity 3D优化游戏运行性能的经验
  8. 用protoc-gen-lua生成PB的lua代码
  9. java ftp下载文件源码_java实现ftp文件下载的源代码
  10. linux pcie热插拔驱动_Linux安装TLP-高级电源管理工具