94.二叉树的中序遍历
递归来说很简单。
非递归呢?
以前只是理论上理解,但没亲手打过。
原理和递归一样,不过是用栈模拟递归而已.
一直入栈左节点,到头了然后康康这个节点有无右节点。没有的话,就该操作左节点的根节点了;有的话入栈左节点,到头了然后康康。。。。。。。。。。
/*** 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.二叉树的中序遍历相关推荐
- LeetCode-二叉树-94. 二叉树的中序遍历
描述 94. 二叉树的中序遍历 给定一个二叉树的根节点 root ,返回它的 中序 遍历. 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root ...
- Leetcode 129求根节点到叶节点数字之和、104二叉树的最大深度、8字符串转换整数(atoi)、82删除排序链表中的重复元素II、204二分查找、94二叉树的中序遍历、144二叉树的前序遍历
Top1:Leetcode 129求根节点到叶节点数字之和 官方题解:https://leetcode.cn/problems/sum-root-to-leaf-numbers/solution/qi ...
- 94. 二叉树的中序遍历-M
94. 二叉树的中序遍历 label: 非递归中序遍历,LNR,字节跳动面试题 给定一个二叉树,返回它的中序 遍历. 示例: 输入: [1,null,2,3] 1\2/3 输出: [1,3,2] 进阶 ...
- 94. 二叉树的中序遍历
94. 二叉树的中序遍历 难度中等902收藏分享切换为英文接收动态反馈 给定一个二叉树的根节点 root ,返回它的 中序 遍历. 示例 1: 输入:root = [1,null,2,3] 输出:[1 ...
- LeetCode 92反转链表Ⅱ93复制ip地址94二叉树的中序遍历
微信搜一搜:bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打卡群,欢迎 ...
- leetcode - 94. 二叉树的中序遍历
给定一个二叉树,返回它的中序遍历.中序遍历(LDR)是二叉树遍历的一种,也叫做中根遍历.中序周游.在二叉树中,中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树. 示例: 进阶: 递归算法很简单, ...
- Leetcode 94.二叉树的中序遍历 (每日一题 20210712)
给定一个二叉树的根节点 root ,返回它的 中序 遍历.示例 1:输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2:输入:root = [] 输出:[] 示例 3:输入: ...
- 力扣(Leetcode)-94. 二叉树的中序遍历
描述 给定一个二叉树的根节点 root ,返回它的 中序 遍历. 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 ...
- [leetcode]94.二叉树的中序遍历
给定一个二叉树的根节点 root ,返回它的 中序 遍历. 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 3: ...
- LeetCode 94. 二叉树的中序遍历(中序遍历)
文章目录 1. 题目信息 2. 解题 2.1 递归 2.2 循环,必须掌握 1. 题目信息 给定一个二叉树,返回它的中序 遍历. 示例:输入: [1,null,2,3]1\2/3输出: [1,3,2] ...
最新文章
- ROW_NUMBER() OVER函数的基本用法用法
- Linux编程---线程
- python元素分类_Python 练习 - 元素分类
- Mars《Android开发视频教程》全集下载(第一季到第五季)
- 数组-去重、排序方法、json排序
- iOS Nib文件一览
- 6.5. Properties
- chm 打不开 解决办法
- Anaconda Clean命令
- CCF 区块链国际会议 统计 有哪些接收区块链论文的会议 (最全)
- 解决笔记本同时连接局域网和外网网络后上网很卡的问题
- 计算机无法打印 重启又好了,打印机显示通讯错误,不能打印,但电脑重启后又好了!这是为什么?...
- 慧安金科黄铃:面对金融欺诈, AI 如何揪出“老赖”
- 河南大学计算机学院夏令营,河南大学数学与统计学院2020年优秀大学生国际夏令营...
- SOLIDWORKS motion运动仿真分析
- oracle测试实用SQL语句
- BP神经网络的非线性函数拟合
- Python入门神图一张
- 霍夫圆检测原理+实战
- Vue百度地图电子围栏
热门文章
- 基于OpenCV的车辆变道检测
- CPU状态信息us,sy,ni,id,wa,hi,si,st含义
- Bzoj3998: [TJOI2015]弦论
- PAT (Advanced Level) 1014. Waiting in Line (30)
- HTTP协议是无状态协议,怎么理解?
- HTML特殊字符过滤器
- [Unity3D]总结使用Unity 3D优化游戏运行性能的经验
- 用protoc-gen-lua生成PB的lua代码
- java ftp下载文件源码_java实现ftp文件下载的源代码
- linux pcie热插拔驱动_Linux安装TLP-高级电源管理工具