144. Binary Tree Preorder Traversal
2017-03-23 15:39
281 查看
二叉树的先序遍历,将每个节点中值保存在集合中,并返回,递归和递归两种方法:
方法一:利用二叉树的先序遍历,代码如下:
public class Solution {
public List<Integer> preorderTraversal(TreeNode root) {
List<Integer> ls=new ArrayList();
vist(root,ls);
return ls;
}
public void vist(TreeNode root,List<Integer> ls){
if(root==null) return;
ls.add(root.val);
vist(root.left,ls);
vist(root.right,ls);
}
}
方法二:非递归调用时,利用了Java中的栈集合,比较简单,代码如下:
public class Solution {
public List<Integer> preorderTraversal(TreeNode root) {
List<Integer> ls=new ArrayList();
Stack<TreeNode> stack=new Stack();
if(root==null)return ls;
stack.push(root);
while(!stack.empty()){
TreeNode n=stack.pop();
ls.add(n.val);
if(n.right!=null){
stack.push(n.right);
}
if(n.left!=null){
stack.push(n.left);
}
}
return ls;
}
方法一:利用二叉树的先序遍历,代码如下:
public class Solution {
public List<Integer> preorderTraversal(TreeNode root) {
List<Integer> ls=new ArrayList();
vist(root,ls);
return ls;
}
public void vist(TreeNode root,List<Integer> ls){
if(root==null) return;
ls.add(root.val);
vist(root.left,ls);
vist(root.right,ls);
}
}
方法二:非递归调用时,利用了Java中的栈集合,比较简单,代码如下:
public class Solution {
public List<Integer> preorderTraversal(TreeNode root) {
List<Integer> ls=new ArrayList();
Stack<TreeNode> stack=new Stack();
if(root==null)return ls;
stack.push(root);
while(!stack.empty()){
TreeNode n=stack.pop();
ls.add(n.val);
if(n.right!=null){
stack.push(n.right);
}
if(n.left!=null){
stack.push(n.left);
}
}
return ls;
}
相关文章推荐
- 144. Binary Tree Preorder Traversal
- Leetcode_144_Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- [leetcode 144]Binary Tree Preorder Traversal
- LeetCode 144:Binary Tree Preorder Traversal
- leetcode-144-Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- Leetcode算法学习日志-144 Binary Tree Preorder Traversal
- Leetcode 144 Binary Tree Preorder Traversal
- 144. Binary Tree Preorder Traversal
- 【LeetCode-面试算法经典-Java实现】【144-Binary Tree Preorder Traversal(二叉树非递归前序遍历)】
- leetCode #144 Binary Tree Preorder Traversal
- leetcode || 144、Binary Tree Preorder Traversal
- Leetcode 144 Binary Tree Preorder Traversal
- LeetCode 144 Binary Tree Preorder Traversal
- LeetCode144:Binary Tree Preorder Traversal
- LeetCode_144 Binary Tree Preorder Traversal
- leetcode_144_Binary Tree Preorder Traversal
- LeetCode 144 — Binary Tree Preorder Traversal(C++ Java Python)
- [144]Binary Tree Preorder Traversal