LeetCode144:Binary Tree Preorder Traversal
来源:互联网 发布:天天动听mac 编辑:程序博客网 时间:2024/04/30 23:14
Given a binary tree, return the preorder traversal of its nodes’ values.
For example:
Given binary tree {1,#,2,3},
return [1,2,3].
Note: Recursive solution is trivial, could you do it iteratively?
先序遍历应该是三种遍历方式中最好使用非递归来实现的了。
可以每次访问一个节点后再将其右子节点入栈,然后左子节点入栈。然后再从栈中取元素,可以发现就是先序遍历的结果。需要注意的是如果子节点不存在就不需要进行入栈操作。
runtime:4ms
/** * 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 *> s; TreeNode * node=root; s.push(node); while(!s.empty()) { node=s.top(); s.pop(); res.push_back(node->val); if(node->right) s.push(node->right); if(node->left) s.push(node->left); } return res; }};
0 0
- LeetCode144 Binary Tree Preorder Traversal
- Binary Tree Preorder Traversal leetcode144
- leetcode144 Binary Tree Preorder Traversal
- LeetCode144:Binary Tree Preorder Traversal
- LeetCode144-Binary-Tree-Preorder-Traversal
- [leetcode144]Binary Tree Preorder Traversal
- leetcode144 Binary Tree Preorder Traversal
- LeetCode144. Binary Tree Preorder Traversal
- leetcode144. Binary Tree Preorder Traversal
- LeetCode144—Binary Tree Preorder Traversal
- Leetcode144——Binary Tree Preorder Traversal
- Leetcode144: Construct Binary Tree from Preorder and Inorder Traversal
- LeetCode144——Binary Tree Preorder Traversal二叉树先序遍历
- LeetCode144 Binary Tree Preorder Traversal(迭代实现) Java
- LeetCode144 Binary Tree PreOrder Traversal Java题解(递归 迭代)
- Binary Tree Preorder Traversal
- Binary Tree Preorder Traversal
- Binary Tree Preorder Traversal
- HadoopCDH4.2.1 Pseudo-Distributed 安装过程
- Mysql第六天 查询 1
- POJ 3468 A Simple Problem with Integers(BIT)
- 冒泡排序
- DLL中调用约定和名称修饰(一)
- LeetCode144:Binary Tree Preorder Traversal
- jvm类加载-全盘负责和双亲委派机制
- iOS开发之NSTimer使用初探
- 视觉平台搭建——光源选型介绍
- 半杯孕妇尿等于一粒伟哥药?
- CentOS7 让Selinux允许新开的ssh端口
- 关于Redis的应用
- DLL中调用约定和名称修饰(二)
- Foundation中各种初始化创建