【leetcode】144. Binary Tree Preorder Traversal
来源:互联网 发布:常见的nosql数据库 编辑:程序博客网 时间:2024/06/14 14:45
一、题目描述
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?
题目解读:返回二叉树的前序遍历
方法一:递归
c++代码(0ms,23.98%)
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: vector<int> result; vector<int> preorderTraversal(TreeNode* root) { if(root == NULL) return result; preorder(root); return result; } void preorder(TreeNode* root){ if(root == NULL) return; result.push_back(root->val); preorder(root->left); preorder(root->right); }//};
方法二:迭代
c++代码(0ms,23.98%)
/** * Definition for a binary tree node. * 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) { stack<TreeNode*> q; vector<int> result; if(root == NULL) return result; TreeNode* p=root; while(p!=NULL || !q.empty()){ while(p!=NULL){ result.push_back(p->val); q.push(p); p=p->left; }//while if(!q.empty()){ p=q.top()->right; q.pop(); } } return result; }};
0 0
- [LeetCode]144.Binary Tree Preorder Traversal
- LeetCode 144. Binary Tree Preorder Traversal
- [leetcode] 144.Binary Tree Preorder Traversal
- 【LeetCode】144. Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal LeetCode
- 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 OJ]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
- [leetcode] 144. Binary Tree Preorder Traversal
- 暑期训练Breadth-First Search by Foxpower
- POJ 3172 Scales (剪枝深搜)
- mybatis: Invalid bound statement (not found)
- Unity粒子系统简介
- Spring MVC的自定义拦截器(登录)
- 【leetcode】144. Binary Tree Preorder Traversal
- ecshop二次开发手册【基本结构】
- UVALive 6437 Power Plant(最小生成树)
- bootstrap 响应式实用工具
- iOS中modal跳转总结
- 解决secureCRT7.3小键盘在vim编辑器里不能使用问题
- Java面向对象的三大特征------封装
- 如何学好游戏3D引擎编程
- hdu1532 当前弧优化的dinic算法实现