66. 二叉树的前序遍历
2018-03-06 22:37
288 查看
66. 二叉树的前序遍历
描述给出一棵二叉树,返回其节点值的前序遍历样例给出一棵二叉树
{1,#,2,3}, 1
\
2
/
3
返回
[1,2,3].挑战 你能使用非递归实现么? vector<int> a;
vector<int> preorderTraversal(TreeNode * root) { // write your code here if(root==NULL){return a;} a.push_back(root->val); if(root->left!=NULL){ preorderTraversal(root->left); } if(root->right!=NULL){ preorderTraversal(root->right); } return a; }改进后
vector<int> a;
vector<int> preorderTraversal(TreeNode * root) { // write your code here if(root==NULL){return a;} else{ a.push_back(root->val); preorderTraversal(root->left); preorderTraversal(root->right); } return a; }非递归方法
vector<int> preorderTraversal(TreeNode * root) { // write your code here int top=-1; vector<int> a; TreeNode * s[1000]; while(root!=NULL || top!=-1){ while(root!=NULL){ a.push_back(root->val); s[++top]=root; root=root->left; } if(top!=-1){ root = s[top--]; root=root->right; } } return a; }
相关文章推荐
- 66.二叉树的前序遍历
- [LintCode]66.二叉树的前序遍历
- Lintcode 66 二叉树的前序遍历
- LintCode 66 二叉树的前序遍历
- LintCode | 66. 二叉树的前序遍历
- LintCode之66 二叉树的前序遍历
- 66. 二叉树的前序遍历
- 通过二叉树的前序和中序遍历新建一个二叉树
- 二叉树的前序遍历
- leedcode——二叉树的前序遍历
- 二叉树的前序遍历、中序遍历、后序遍历概念
- 根据一个树的中序遍历和前序遍历数据,还原一个二叉树的思考
- 二叉树的前序遍历
- LeetCode Binary Tree Preorder Traversal 前序遍历二叉树 递归和非递归解法
- LintCode:二叉树的前序遍历、中序遍历、后序遍历
- 已知二叉树的前序和中序遍历,重构该二叉树
- 非递归前序遍历二叉树
- 已知二叉树的前序/后序遍历和中序遍历,求后序/前序遍历
- 二叉树的前序遍历