【LeetCode】Binary Tree Preorder Traversal 解题报告
2017-05-20 13:32
639 查看
【LeetCode】Binary Tree Preorder Traversal 解题报告
标签(空格分隔): LeetCode题目地址:https://leetcode.com/problems/binary-tree-preorder-traversal/#/description
题目描述:
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?
Ways
这个题就是最简单的先序遍历,先用递归的方法做了一遍。很简单。public class Solution { List<Integer> ans = new ArrayList<Integer>(); public List<Integer> preorderTraversal(TreeNode root) { preOrder(root); return ans; } public void preOrder(TreeNode root){ if(root == null){ return; } ans.add(root.val); preOrder(root.left); preOrder(root.right); } }
然后非递归的:用栈,先把右孩子进栈,再左孩子进栈.
public class Solution { public List<Integer> preorderTraversal(TreeNode root) { if(root == null){ return new ArrayList<Integer>(); } List<Integer> ans = new ArrayList<Integer>(); Stack<TreeNode> stack = new Stack<TreeNode>(); stack.push(root); while(!stack.isEmpty()){ TreeNode temp = stack.pop(); ans.add(temp.val); if(temp.right != null){ stack.push(temp.right); } if(temp.left != null){ stack.push(temp.left); } } return ans; } }
Date
2017 年 5 月 20 日相关文章推荐
- [leetcode] 105. Construct Binary Tree from Preorder and Inorder Traversal 解题报告
- LeetCode: Construct Binary Tree from Preorder and Inorder Traversal 解题报告
- [Leetcode] 105. Construct Binary Tree from Preorder and Inorder Traversal 解题报告
- LeetCode—Binary Tree Preorder Traversal 解题报告
- LeetCode 解题报告 Binary Tree Preorder Traversal
- 【LeetCode】144 . Binary Tree Preorder Traversal 解题报告
- 【LeetCode】105. Construct Binary Tree from Preorder and Inorder Traversal 解题报告
- Leetcode 105. Construct Binary Tree from Preorder and Inorder Traversal 先序和中序中恢复二叉树 解题报告
- 剑指offer 面试题6:重建二叉树(Leetcode105. Construct Binary Tree from Preorder and Inorder Traversal) 解题报告
- [leetcode]105. Construct Binary Tree from Preorder and Inorder Traversal@Java解题报告
- 【LeetCode】Construct Binary Tree from Preorder and Inorder Traversal 解题报告
- LeetCode 解题报告 Binary Tree Postorder Traversal
- LeetCode 144: Binary Tree Preorder Traversal 解题与思考
- 【LeetCode】 Binary Tree Zigzag Level Order Traversal 解题报告
- [Leetcode] 106. Construct Binary Tree from Inorder and Postorder Traversal 解题报告
- LeetCode-Binary Tree Level Order Traversal-解题报告
- leetCode解题报告之Binary Tree Postorder Traversal
- 【LeetCode】Binary Tree Level Order Traversal II 解题报告
- Construct Binary Tree from Preorder and Inorder Traversal 解题报告
- [leetcode] 106. Construct Binary Tree from Inorder and Postorder Traversal 解题报告