LeetCode: Binary Tree Preorder Traversal [144]
2014-06-29 10:57
302 查看
【题目】
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?
【题意】
非递归返回先序遍历结果【思路】
维护一个栈即可【代码】
/** * 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> preorderTraversal(TreeNode *root) { vector<int> result; stack<TreeNode*> st; TreeNode*node=root; while(node){ result.push_back(node->val); st.push(node); node=node->left; } while(!st.empty()){ node=st.top()->right; st.pop(); while(node){ result.push_back(node->val); st.push(node); node=node->left; } } return result; } };
相关文章推荐
- leetcode[144]Binary Tree Preorder Traversal
- LeetCode 144 Binary Tree Preorder Traversal
- leetcode_c++:栈:Binary Tree Preorder Traversal(144)
- LeetCode 144 — Binary Tree Preorder Traversal(C++ Java Python)
- LeetCode 144 Binary Tree Preorder Traversal(二叉树的前序遍历)+(二叉树、迭代)
- LeetCode 144:Binary Tree Preorder Traversal
- leetcode_144_Binary Tree Preorder Traversal
- Leetcode 144 Binary Tree Preorder Traversal
- LeetCode 144 Binary Tree Preorder Traversal
- leetcode: (144) Binary Tree Preorder Traversal
- [leetcode 144]Binary Tree Preorder Traversal
- LeetCode144:Binary Tree Preorder Traversal
- LeetCode 144: Binary Tree Preorder Traversal 解题与思考
- [leetcode-144]Binary Tree Preorder Traversal(c++)
- <LeetCode OJ>Binary Tree Preorder Traversal【144】
- Java [Leetcode 144]Binary Tree Preorder Traversal
- [Leetcode 144, Medium] Binary Tree Preorder Traversal
- leetcode || 144、Binary Tree Preorder Traversal
- leetcode(144):Binary Tree Preorder Traversal
- LeetCode(144):Binary Tree Preorder Traversal