博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode]Binary Tree Preorder Traversal
阅读量:6477 次
发布时间:2019-06-23

本文共 1802 字,大约阅读时间需要 6 分钟。

Binary Tree Preorder Traversal

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?

 

不算难,使用stack即可。

1 /** 2  * Definition for a binary tree node. 3  * struct TreeNode { 4  *     int val; 5  *     TreeNode *left; 6  *     TreeNode *right; 7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8  * }; 9  */10 class Solution {11 public:12     vector
preorderTraversal(TreeNode* root) {13 vector
result;14 TreeNode* p;15 stack
mystack;16 p = root;17 if(p) mystack.push(p);18 while(!mystack.empty())19 {20 p = mystack.top();21 mystack.pop();22 result.push_back(p->val);23 if(p->right) mystack.push(p->right);24 if(p->left) mystack.push(p->left);25 }26 return result;27 }28 };

 递归的方法很统一。先序,中序,后续,只要修改遍历的顺序即可。

1 /** 2  * Definition for a binary tree node. 3  * struct TreeNode { 4  *     int val; 5  *     TreeNode *left; 6  *     TreeNode *right; 7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8  * }; 9  */10 class Solution {11 public:12     vector
preorderTraversal(TreeNode* root) {13 vector
result;14 traversal(root,result);15 return result;16 }17 void traversal(TreeNode* root,vector
& ret)18 {19 if(root)20 {21 ret.push_back(root->val);22 traversal(root->left,ret);23 traversal(root->right,ret);24 }25 }26 };

 

转载于:https://www.cnblogs.com/Sean-le/p/4782525.html

你可能感兴趣的文章
HttpClient4.5教程-第二章-连接管理
查看>>
Yeslab 马老师 V2V环境下vCenter Server Heartbeat v6.4实现vCenter5.0的双机备份
查看>>
redhat Nginx 安装
查看>>
oracle 配置监听
查看>>
上海访微软 详解Azure和S+S
查看>>
跨国巨头猛攻语音识别技术 让电脑听懂人们说话
查看>>
moosefs即将发布新版
查看>>
WCF4.0新特性体验(12):服务发现WS-Discovery之Managed Service Discovery
查看>>
FOSCommentBundle功能包:运行测试
查看>>
python
查看>>
SmartGit 试用过期
查看>>
c#参数传递几点小结
查看>>
python 测试驱动开发的简单例子
查看>>
JDBC中驱动加载的过程分析
查看>>
Aes 加密简单例子
查看>>
AE 线编辑
查看>>
python 回溯法 子集树模板 系列 —— 15、总结
查看>>
软件设计之UML—UML的构成[上]
查看>>
蚂蚁金服硅谷ATEC科技大会:看技术如何带来平等的机会
查看>>
[SPLEB]CodeSmith原理剖析(1)
查看>>