LeetCode *** 144. Binary Tree Preorder Traversal
2016-04-07 08:47
274 查看
题目:
Given a binary tree, return the preorder traversal of its nodes' values.
For example:
Given binary tree
return
Note: Recursive solution is trivial, could you do it iteratively?
分析:
利用堆栈进行先序遍历即可。
代码:
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?
分析:
利用堆栈进行先序遍历即可。
代码:
/** * 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> res; if(root==NULL)return res; stack<TreeNode*> tree; tree.push(root); while(!tree.empty()){ TreeNode* tmp=tree.top(); tree.pop(); res.push_back(tmp->val); if(tmp->right)tree.push(tmp->right); if(tmp->left)tree.push(tmp->left); } return res; } };
相关文章推荐
- css中的优先级问题及其使用技巧讨论
- 某个字段重复内容 sql
- 合并PDF(Merge PDF)
- IOS混合编程 - NSURLProtocol 的使用 (三)
- 深度学习(六)caffe入门学习
- C++作业3
- iOS 微博sdk分享(直接分享,跳过编辑页面)
- jQuery ajax serialize()方法的使用以及常见问题解决
- 第6周项目2:带武器的游戏角色
- UI-UIButton、UILable、UITextField总结
- 微软笔试题3 Demo Day
- C++作业3
- 通过ulimit改善linux系统性能(摘自IBM)
- Keeper(保密信息)
- 052(二十六)
- 《AppletButtonEvent.java》
- 基于javascript bootstrap实现生日日期联动选择
- Keeper(保密信息)
- IOS混合编程 - Http for IOS (二)
- 深度学习(五)caffe环境搭建