94. 二叉树的中序遍历(迭代)
用栈记录走过的位置,当遇到NULL结点时,用栈pop进行回溯
//回溯到父节点后,应该马上进入父结点的 右结点,这样就可以避免重复进入左结点
(相当于递归回到当前层的时候,只是继续执行上次剩下没执行的语句,而不是把当前层的所有代码都执行一遍)
/*** 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) {vector<int> ans;stack<TreeNode*> s;TreeNode* p=root;while(p || !s.empty()){if(p){s.push(p);p=p->left;}else{ //回到父节点后,马上进入父结点的 右结点p = s.top();ans.push_back(p->val);s.pop();p=p->right;}}return ans;}
};
94. 二叉树的中序遍历(迭代)相关推荐
- LeetCode-二叉树-94. 二叉树的中序遍历
描述 94. 二叉树的中序遍历 给定一个二叉树的根节点 root ,返回它的 中序 遍历. 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root ...
- 94. 二叉树的中序遍历-M
94. 二叉树的中序遍历 label: 非递归中序遍历,LNR,字节跳动面试题 给定一个二叉树,返回它的中序 遍历. 示例: 输入: [1,null,2,3] 1\2/3 输出: [1,3,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 ...
- 94. 二叉树的中序遍历
94. 二叉树的中序遍历 难度中等902收藏分享切换为英文接收动态反馈 给定一个二叉树的根节点 root ,返回它的 中序 遍历. 示例 1: 输入:root = [1,null,2,3] 输出:[1 ...
- leetcode - 94. 二叉树的中序遍历
给定一个二叉树,返回它的中序遍历.中序遍历(LDR)是二叉树遍历的一种,也叫做中根遍历.中序周游.在二叉树中,中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树. 示例: 进阶: 递归算法很简单, ...
- LeetCode 92反转链表Ⅱ93复制ip地址94二叉树的中序遍历
微信搜一搜:bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打卡群,欢迎 ...
- LeetCode 94. 二叉树的中序遍历(中序遍历)
文章目录 1. 题目信息 2. 解题 2.1 递归 2.2 循环,必须掌握 1. 题目信息 给定一个二叉树,返回它的中序 遍历. 示例:输入: [1,null,2,3]1\2/3输出: [1,3,2] ...
- Leetcode--94. 二叉树的中序遍历(迭代递归)
给定一个二叉树,返回它的中序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 代码: 迭代: /** * Defin ...
- leetcode| 94. 二叉树的中序遍历
##给定一个二叉树,返回它的中序遍历. 示例: 输入: [1,null,2,3] 1 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 栈. 思路 时间复杂度O( ...
最新文章
- Linux 下的KILL函数的用法
- Nginx配置之基于域名的虚拟主机
- [SHOI2014] 概率充电器
- mysql创建表时反引号的作用
- 第一部分Calendar介绍
- 分布式数据库中间件的实现原理介绍一:分库分表【转】
- 小D课堂 - 新版本微服务springcloud+Docker教程_1_02技术选型
- cocos2d-基本概念(5)-Effects 效果
- 接口(Api)版本号命名规则
- 【异常解决】DolphinScheduler-2.0.5 工作流实例无法调度和停止异常
- android怎样开启root权限管理,【经验】安卓手机怎么开启Root权限?
- CSSCI来源期刊(2010-2011年)
- 【机器翻译】《Gradient-guided Loss Masking for Neural Machine Translation》论文总结
- Kotlin-Android世界的一股清流-函数
- Linux whoami和who am i命令用法和区别
- 真无线蓝牙耳机盘点,2020新款游戏低延迟高续航蓝牙耳机
- java 操作execl添加边框
- 循环-菲波那切数列II
- go使用viper读取配置参数热加载
- SpringBoot启动图标修改