Binary Tree Inorder Traversal--LeetCode
来源:互联网 发布:c语言宏定义 编辑:程序博客网 时间:2024/06/11 19:26
1.题目
Binary Tree Inorder Traversal
Given a binary tree, return the inorder traversal of its nodes’ values.
For example:
Given binary tree [1,null,2,3],
1
\
2
/
3
return [1,3,2].
Note: Recursive solution is trivial, could you do it iteratively?
2.题意
二叉树中序遍历
3.分析
思路类似于Binary Tree Preorder Traversal
非递归解法借助栈,先将左孩子节点进栈,当左孩子节点为空,再将当前栈顶元素出栈,遍历其右子树
4.代码
1)递归版
class Solution {public: vector<int> inorderTraversal(TreeNode* root) { vector<int> result; inorder(result, root); return result; }private: void inorder(vector<int> &result, TreeNode *root) { if(root == nullptr) return; inorder(result, root->left); result.push_back(root->val); inorder(result, root->right); }};
2)迭代版
class Solution {public: vector<int> inorderTraversal(TreeNode* root) { vector<int> result; if(root == nullptr) return result; stack<const TreeNode*> s; const TreeNode *p = root; while(p != nullptr || !s.empty()) { if(p != nullptr) { s.push(p); p = p->left; } else { p = s.top(); s.pop(); result.push_back(p->val); p = p->right; } } return result; }};
阅读全文
0 0
- LeetCode: Binary Tree Inorder Traversal
- [LeetCode]Binary Tree Inorder Traversal
- LeetCode Binary Tree Inorder Traversal
- [Leetcode] Binary Tree Inorder Traversal
- Leetcode: Binary Tree Inorder Traversal
- LeetCode Binary Tree Inorder Traversal
- LeetCode : Binary Tree Inorder Traversal
- [Leetcode] Binary Tree Inorder Traversal
- 【leetcode】Binary Tree Inorder Traversal
- [LeetCode]Binary Tree Inorder Traversal
- Leetcode: Binary Tree Inorder Traversal
- [leetcode]Binary Tree Inorder Traversal
- LeetCode-Binary Tree Inorder Traversal
- Leetcode Binary Tree Inorder Traversal
- [leetcode] Binary Tree Inorder Traversal
- LeetCode - Binary Tree Inorder Traversal
- [LeetCode] Binary Tree Inorder Traversal
- LeetCode | Binary Tree Inorder Traversal
- ubuntu下安装Apache+PHP+Mysql
- Spring框架中bean的生命周期
- 序列-元组
- opencv视频采集封装qml
- 10.17坑位
- Binary Tree Inorder Traversal--LeetCode
- LeetCode题解 week6
- 1011. A+B和C
- 阿里云搭建Hadoop集群
- webdriver 鼠标和键盘事件
- 单例模式
- 什么是概率密度函数?
- 小X的佛光
- JVM核心机制_深入类加载器JAVA220-223