[leetcode]Binary Tree Preorder Traversal
来源:互联网 发布:53端口入侵 编辑:程序博客网 时间:2024/05/16 12:09
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?
/** * Definition for binary tree * 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) { // IMPORTANT: Please reset any member data you declared, as // the same Solution instance will be reused for each test case. vector<int> vi; if(NULL == root) return vi; TreeNode *ptr; stack<TreeNode*> st; st.push(root); while(!st.empty()){ ptr = st.top(); st.pop(); vi.push_back(ptr->val); if(ptr->right) st.push(ptr->right); if(ptr->left) st.push(ptr->left); } return vi; }};
class Solution {public: vector<int> preorderTraversal(TreeNode *root) { // IMPORTANT: Please reset any member data you declared, as // the same Solution instance will be reused for each test case. vector<int> vi; TreeNode *ptr = root; stack<TreeNode*> st; while(ptr){ while(ptr){ vi.push_back(ptr->val); if(ptr->right){ st.push(ptr->right); } ptr = ptr->left; } if(!st.empty()){ ptr = st.top(); st.pop(); } } return vi; }};
class Solution {public: vector<int> preorderTraversal(TreeNode *root) { // IMPORTANT: Please reset any member data you declared, as // the same Solution instance will be reused for each test case. vector<int> vi; TreeNode *ptr = root; stack<TreeNode*> st; st.push(root); while(!st.empty()){ if(ptr){ vi.push_back(ptr->val); if(ptr->right){ st.push(ptr->right);} ptr = ptr->left; }else{ ptr = st.top(); st.pop(); } } return vi; }};
0 0
- LeetCode Binary Tree Preorder Traversal
- 【LeetCode】Binary Tree Preorder Traversal
- Leetcode: Binary Tree Preorder Traversal
- Leetcode Binary Tree Preorder Traversal
- LeetCode:Binary Tree Preorder Traversal
- Leetcode: Binary Tree Preorder Traversal
- LeetCode:Binary Tree Preorder Traversal
- [LeetCode]Binary Tree Preorder Traversal
- [LeetCode] Binary Tree Preorder Traversal
- LeetCode | Binary Tree Preorder Traversal
- Leetcode: Binary Tree Preorder Traversal
- [LeetCode] Binary Tree Preorder Traversal
- LeetCode - Binary Tree Preorder Traversal
- LeetCode - Binary Tree Preorder Traversal
- 【LeetCode】Binary Tree Preorder Traversal
- [LeetCode]Binary Tree Preorder Traversal
- Binary Tree Preorder Traversal - LeetCode
- [Leetcode] Binary Tree Preorder Traversal
- php常用正则表达式 - 正则表达式 - PHP粉丝网
- Android开发之InstanceState详解
- Unity刀光的实现
- vpn原理详解
- 阿里大数据竞赛--开始写博客的初衷
- [leetcode]Binary Tree Preorder Traversal
- C# 连接SAP,并调用RFC函数
- ajax发送get、post请求
- 黑马程序员学习日记(3)——文件批量重命名程序:One Click数据绑定
- Java创建对象的几种方式
- linux调试core文件
- mssql update error
- c解决图的涂色问题
- 编程语言系列(四)--java语言需掌握的知识点