Given a binary tree, return the preorder traversal of its nodes' values.

Example:

Input: [1,null,2,3]
1
\
2
/
3 Output: [1,2,3]

Follow up: Recursive solution is trivial, could you do it iteratively?

-----------------------------------------------------------------------------------------------------------

二叉树的前序遍历(preorder traversal)。emmm,虽然题目要求用非递归,但是,我现在先用递归来写(简单)。emmmm,只要理解透递归的含义,解决这个问题是异常的简单。

C++代码:递归代码1:

/**
* 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) {
vector<int> vec;
DFS(root,vec);
return vec;
}
void DFS(TreeNode* root,vector<int>& vec){
if(!root) return;
vec.push_back(root->val);
if(root->left) DFS(root->left,vec);
if(root->right) DFS(root->right,vec);
}
};

递归代码2:

/**
* 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> vec; //这个vec必须放在外面。否则,如果在里面的话,在这个样例中最后只得到一个含有一个数的数组。
vector<int> preorderTraversal(TreeNode* root) {
if(!root) return vec;
vec.push_back(root->val);
preorderTraversal(root->left);
preorderTraversal(root->right);
return vec;
}
};

最新文章

  1. 当我们在谈论kmeans(1)
  2. CAS示例环境部署及配置
  3. python元类
  4. ios取证
  5. IGF职业组比赛
  6. LeetCode42 Trapping Rain Water
  7. Linux 动画显示
  8. SQLServer优化资料整理(一)
  9. nodejs学习随机记录
  10. 关于twitter的GIF变mp4的测试
  11. Python全栈开发第13天
  12. DATA VISUALIZATION – PART 1
  13. Eclipse debug 调试快捷键
  14. JS 获取字符串实际长度
  15. Hibernate 相关配置
  16. Robot Framework安装及配置
  17. XML 和 JSON
  18. VirtualBox中slitaz系统不能联网
  19. 关于ECMP 等价路由
  20. 串、串的模式匹配算法(子串查找)BF算法、KMP算法

热门文章

  1. MySQL新参数log_error_verbosity
  2. python 迭代器协议和生成器
  3. top后台执行显示:top: failed tty get 错误
  4. STM32 FSMC使用笔记
  5. android 获取通话记录
  6. 洛谷 P5020 货币系统
  7. SQL Server的JOIN是支持使用小括号修改执行顺序的
  8. Foundation框架 - 结构体
  9. 保护 .NET Core 项目的敏感信息
  10. Entity Framework Core系列之实战(ASP.NET Core MVC应用程序)