LeetCode 94. 二叉树的中序遍历(中序遍历)
文章目录
- 1. 题目信息
- 2. 解题
- 2.1 递归
- 2.2 循环,必须掌握
1. 题目信息
给定一个二叉树,返回它的中序 遍历。
示例:输入: [1,null,2,3]1\2/3输出: [1,3,2]
进阶: 递归算法很简单,你可以通过迭代算法完成吗?
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
2.1 递归
class Solution {public:vector<int> inorderTraversal(TreeNode* root) {vector<int> ans;inorder(root, ans);return ans;}void inorder(TreeNode* root, vector<int> &ans){if(root == NULL)return;inorder(root->left, ans);ans.push_back(root->val);inorder(root->right, ans);}
};
2.2 循环,必须掌握
左根右
class Solution {public:vector<int> inorderTraversal(TreeNode* root) {vector<int> ans;stack<TreeNode*> stk;while(root || !stk.empty()){while(root){stk.push(root);root = root->left;}root = stk.top();ans.push_back(root->val);stk.pop();root = root->right;}return ans;}
};
LeetCode 94. 二叉树的中序遍历(中序遍历)相关推荐
- leetcode| 94. 二叉树的中序遍历
##给定一个二叉树,返回它的中序遍历. 示例: 输入: [1,null,2,3] 1 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 栈. 思路 时间复杂度O( ...
- leetcode - 94. 二叉树的中序遍历
给定一个二叉树,返回它的中序遍历.中序遍历(LDR)是二叉树遍历的一种,也叫做中根遍历.中序周游.在二叉树中,中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树. 示例: 进阶: 递归算法很简单, ...
- LeetCode 94. 二叉树的中序遍历(递归)(迭代)(颜色标记法)
题目描述 给定一个二叉树,返回它的后序遍历 思路 详见链接 代码 递归 #class TreeNode: # def __init__(self,x): # self.val = x # self.l ...
- 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. 二叉树的中序遍历 解题思路及C++实现
解题思路: 中序遍历的顺序是:左根右.所以需要使用一个栈来存储根节点(每一次push操作时,都相当于把该节点当成根节点了,然后再向其左节点探索). 程序中的大循环是:!s.empty() || roo ...
- LeetCode 94. Binary Tree Inorder Traversal--二叉树中序遍历--递归,迭代--C++,Python解法
题目地址:Binary Tree Inorder Traversal - LeetCode Given a binary tree, return the inorder traversal of i ...
- LeetCode 297. 二叉树的序列化与反序列化(前序遍历层序遍历)
文章目录 1. 题目 2. 解题 2.1 前序遍历 2.2 层序遍历 1. 题目 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过 ...
最新文章
- selector与layer-list 单边框效果
- cesium面积计算_cesium-长度测量和面积测量
- html的 button点击事件无效,InfoWindow里面加button,监听button点击事件无效 求解啊...
- 阿里云NAS备份服务
- 提高千倍效率的35个编码小技巧,老司机带你飞!
- (原创) cocos2d-x 3.0+ lua 学习和工作(4) : 公共函数(8): 生成只读table
- OpenCore黑苹果引导配置说明-基于OpenCore-0.7.0-06-08正式版
- CISP 考试资源分享
- 《PWM整流器及其控制》读书笔记—第三章—电压型PWM整流器
- Hive提取身份证号中年龄和性别
- c语言常用延时程序,新手常用单片机延时程序
- 2020 IEEE 冯诺依曼奖得主:Michael Jordan --机器学习领域泰斗级人物
- Linux下安装google浏览器
- PowerPC的嵌入式Linux培训大纲
- 用户不在 sudoers 文件中此事将被报告
- 机械臂操作运动传送带上的物体
- 布伦特原油期货为什么比纽约原油贵那么多
- linux 后台运行matlab 程序
- 快速实现WIFI TCP通信详解
- 12306网上订火车票很快呀
热门文章
- 字符串替换:用参数字符数组成员替换字符串中的占位符(面试题)
- Android查看真机布局,android-外部存储
- 源码安装mysql数据库_Linux下源码安装mysql数据库
- [转]你每天90%的注意力被浪费了
- POJ - 2385 Apple Catching (dp)
- Linux 系统版本信息
- 201521123044 《Java程序设计》第01周学习总结
- worth,worthy,worthwhile的区别(一)
- gPodder 3.4 发布,播客接收器
- 开始学习ZendFramework框架了