LeetCode(144)Binary Tree Preorder Traversal
2014-01-15 06:29
483 查看
题目如下:
Given a binary tree, return the preorder traversal of its nodes' values.
For example:
Given binary tree {1,#,2,3},
return [1,2,3].
Note: Recursive solution is trivial, could you do it iteratively?分析如下:
和上一道题目类似,也是二叉树遍历的常规题目。鼓励用非递归的方式完成,而非递归的方式。因为递归相对比较简单。也因为以前写过。所以直接贴出leetcode上提交的代码
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?分析如下:
和上一道题目类似,也是二叉树遍历的常规题目。鼓励用非递归的方式完成,而非递归的方式。因为递归相对比较简单。也因为以前写过。所以直接贴出leetcode上提交的代码
//8ms过大集合 /** * 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> res; stack<TreeNode*> stack_pre; if(root==NULL) return res; stack_pre.push(root); while(!stack_pre.empty()){ TreeNode* top_node=stack_pre.top(); res.push_back(top_node->val); stack_pre.pop(); if(top_node->right!=NULL) stack_pre.push(top_node->right); if(top_node->left!=NULL) stack_pre.push(top_node->left); } return res; } };
相关文章推荐
- 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
- Binary Tree Preorder Traversal leetcode144
- LeetCode 144 Binary Tree Preorder Traversal(二叉树前序遍历)
- LeetCode144:Binary Tree Preorder Traversal
- LeetCode 144 -Binary Tree Preorder Traversal ( JAVA )
- Leetcode_144_Binary Tree Preorder Traversal
- LeetCode 144 Binary Tree Preorder Traversal
- [LeetCode#144]Binary Tree Preorder Traversal
- 【LeetCode】(144)Binary Tree Preorder Traversal(Easy)
- LeetCode 144 Binary Tree Preorder Traversal(二叉树的前序遍历)+(二叉树、迭代)
- LeetCode 144:Binary Tree Preorder Traversal
- 【LeetCode-面试算法经典-Java实现】【144-Binary Tree Preorder Traversal(二叉树非递归前序遍历)】
- LeetCode 144 — Binary Tree Preorder Traversal(C++ Java Python)
- 【LeetCode】144 . Binary Tree Preorder Traversal 解题报告
- LeetCode 144 Binary Tree Preorder Traversal