Binary Tree Inorder Traversal 二叉树中序遍历,使用堆栈,非递归
2014-12-04 09:54
387 查看
/**
* Definition for binary tree
* 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>vect;
if(root==NULL)
{
return vect;
}
stack<TreeNode *>stk;
TreeNode *p=root;
while(p!=NULL||!stk.empty())
{
while(p!=NULL)
{
stk.push(p);
p=p->left;
}
if(!stk.empty())
{
p=stk.top();
vect.push_back(p->val);
stk.pop();
p=p->right;
}
}
return vect;
}
};
* Definition for binary tree
* 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>vect;
if(root==NULL)
{
return vect;
}
stack<TreeNode *>stk;
TreeNode *p=root;
while(p!=NULL||!stk.empty())
{
while(p!=NULL)
{
stk.push(p);
p=p->left;
}
if(!stk.empty())
{
p=stk.top();
vect.push_back(p->val);
stk.pop();
p=p->right;
}
}
return vect;
}
};
相关文章推荐
- Binary Tree Postorder Traversal 二叉树的后序遍历,使用堆栈,非递归
- LeetCode OJ平台上Binary Tree Inorder Traversal题目使用java堆栈方式实现
- 【LeetCode】Binary Tree Inorder Traversal 二叉树中序遍历递归以及非递归算法
- Binary Tree Preorder Traversal 二叉树的先序遍历,使用堆栈,非递归
- Leetcode 94:Binary Tree Inorder Traversal (二叉树中序遍历,非递归)
- [leetCode]Binary Tree Inorder Traversal 递归 && 栈解法
- Leetcode Binary Tree Inorder Traversal 二叉树中序遍历
- Leetcode: Binary Tree Inorder Traversal(二叉树中序遍历)
- leetcode_105题——Construct Binary Tree from Preorder and Inorder Traversal(树,递归)
- Leet Code Binary Tree Inorder Traversal(非递归且实现不用栈的空间复杂度为O(1)的实现)
- [LeetCode] Binary Tree Inorder Traversal [递归版]
- sicily inorder traversal for Binary Tree[递归和非递归]
- [Leetcode]Binary Tree Inorder Traversal@python(附前、中、后三种遍历的递归和非递归方法!)
- Binary Tree Inorder Traversal:中序遍历二叉树,不使用深度优先遍历
- 【二叉树中序遍历】Binary Tree Inorder Traversal
- leetcode_94题——Binary Tree Inorder Traversal (二叉树,递归,队列queue,栈stack,set)
- Morris InOrder Traverse Binary Tree 无需使用递归和栈
- Binary Tree Inorder Traversal [leetcode] 非递归的三种解法
- LeetCode:94_Binary Tree Inorder Traversal | 二叉树中序遍历 | Medium
- LeetCode 94 Binary Tree Inorder Traversal(二叉树中序遍历)