[LeetCode] Binary Tree Preorder Traversal
来源:互联网 发布:java工程师薪资 编辑:程序博客网 时间:2024/06/16 16:38
Problem : 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?
1.C++版
/** * 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) { TreeNode* p = root,*q = root; vector<int> result; stack<TreeNode*> stack; while(NULL != p || !stack.empty()){ while(NULL != p){ result.push_back(p->val); stack.push(p); p = p->left; } if(!stack.empty()){ q = stack.top(); stack.pop(); p = q->right; } } return result; }};
2.Java版
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public ArrayList<Integer> preorderTraversal(TreeNode root) { TreeNode p = root,q = root; Stack<TreeNode> stack = new Stack<TreeNode>(); ArrayList<Integer> result = new ArrayList<Integer>(); while(null != p || !stack.isEmpty()){ while(null != p){ result.add(p.val); stack.push(p); p = p.left; } if(!stack.isEmpty()){ q = stack.pop(); p = q.right; } } return result; }}
3.Python版
待续
完
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
- Ubuntu14.04 安装WineQQ 2013
- ScriptableObject
- 去除隐私声明的警告
- PythonChallenge闯关游戏——第16-20关
- BOA 移植问题汇集
- [LeetCode] Binary Tree Preorder Traversal
- Eclipse快捷键全集
- 宏碁发布Liquid Jade智能机和Leap手环
- android源码编译出现No private recovery resources for TARGET_DEVICE解决方法
- BAT三巨头谁最先挺进五百强
- 图-拓扑顺序
- 如何选择DLL中函数的导出方式
- ehcache.xml中的配置参数说明
- “baidu钱包”背面的互联网大变局