LeetCode Binary Tree Preorder Traversal (二叉树先序遍历非递归)
2014-04-06 08:02
453 查看
题目要求:
Given a binary tree, return the preorder traversal of its nodes' values.
For example:
Given binary tree
return
Note: Recursive solution is trivial, could you do it iteratively?
代码:
Given a binary tree, return the preorder traversal of its nodes' values.
For example:
Given binary tree
{1,#,2,3},
1 \ 2 / 3
return
[1,2,3].
Note: Recursive solution is trivial, could you do it iteratively?
代码:
class Solution { public: vector<int> preorderTraversal(TreeNode *root) { vector<int> ret; if(root == NULL) return ret; stack<TreeNode*> st; st.push(root); TreeNode* cur = NULL; while(!st.empty()) { cur = st.top(); ret.push_back(cur->val); st.pop(); if(cur->right != NULL) st.push(cur->right); if(cur->left != NULL) st.push(cur->left); } return ret; } };
相关文章推荐
- Leetcode Binary Tree Preorder Traversal 二叉树先序遍历
- LeetCode:Binary Tree Preorder Traversal(二叉树的先序遍历)
- [LeetCode] Binary Tree Preorder Traversal 二叉树的先序遍历
- LeetCode 144 Binary Tree Preorder Traversal (先序遍历二叉树)
- leetcode 题解:Binary Tree Preorder Traversal (二叉树的先序遍历)
- 【leetcode】非递归先序遍历二叉树(Binary Tree Preorder Traversal)
- binary tree preorder traversal(二叉树先序遍历非递归)java
- LeetCode Binary Tree Preorder Traversal 前序遍历二叉树 递归和非递归解法
- 【LeetCode-面试算法经典-Java实现】【144-Binary Tree Preorder Traversal(二叉树非递归前序遍历)】
- LeetCode 105. Construct Binary Tree from Preorder and Inorder Traversal (用先序和中序树遍历来建立二叉树)
- leetcode--第5章--树-5.1二叉树的遍历--5.1.1 binary tree preorder traversal
- [leetcode] Binary Tree Preorder Traversal 非递归先序遍历
- [LeetCode] Binary Tree Preorder Traversal (非递归的先序遍历)
- 【LeetCode 144_二叉树_遍历】Binary Tree Preorder Traversal
- LeetCode:144_Binary Tree Preorder Traversal | 二叉树的前序遍历 | Medium
- LeetCode Construct Binary Tree from Preorder and Inorder Traversal(构造二叉树)
- Binary Tree Preorder Traversal 二叉树的先序遍历,使用堆栈,非递归
- 【二叉树先序遍历】Binary Tree Preorder Traversal
- leetcode:二叉树之Binary Tree Preorder Traversal
- LeetCode(Construct Binary Tree from Preorder and Inorder Traversal )根据二叉树的中序遍历和后序遍历重建二叉树