LeetCode刷题笔录 Binary Tree Preorder Traversal
2014-04-29 02:56
309 查看
Given a binary tree, return the preorder traversal of its nodes' values.
For example:
Given binary tree
return
Note: Recursive solution is trivial, could you do it iteratively?
递归的不说了。记得本科数据结构的书里讲过了非递归的实现方式,需要自己手写一个stack。Preorder是三种DFS里最好实现的,每个node都是在第一次被从stack中pop出来后就进行访问。
逻辑:
1.把root放到stack里
2.从stack里pop出一个node,进行访问
3.右儿子放到Stack里
4.左儿子放到stack里
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?
递归的不说了。记得本科数据结构的书里讲过了非递归的实现方式,需要自己手写一个stack。Preorder是三种DFS里最好实现的,每个node都是在第一次被从stack中pop出来后就进行访问。
逻辑:
1.把root放到stack里
2.从stack里pop出一个node,进行访问
3.右儿子放到Stack里
4.左儿子放到stack里
public class Solution { public ArrayList<Integer> preorderTraversal(TreeNode root) { ArrayList<Integer> result = new ArrayList<Integer>(); if(root == null) return result; Stack<TreeNode> stack = new Stack<TreeNode>(); stack.push(root); while(!stack.isEmpty()){ TreeNode node = stack.pop(); result.add(node.val); if(node.right != null) stack.push(node.right); if(node.left != null) stack.push(node.left); } return result; } }
相关文章推荐
- LeetCode刷题笔录Construct Binary Tree from Preorder and Inorder Traversal
- leetcode 105. Construct Binary Tree from Preorder and Inorder Traversal
- leetcode之Construct Binary Tree from Preorder and Inorder Traversal
- LeetCode: Binary Tree Preorder Traversal [144]
- [LeetCode 144] Binary Tree Preorder Traversal
- LeetCode_Construct Binary Tree from Preorder and Inorder Traversal
- [Leetcode] Binary tree preorder traversal
- LeetCode 105. Construct Binary Tree from Preorder and Inorder Traversal
- LeetCode Binary Tree Preorder Traversal
- [leetcode] Binary Tree Preorder Traversal
- [LeetCode]105 Construct Binary Tree from Preorder and Inorder Traversal
- Binary Tree Preorder Traversal - LeetCode
- 个人记录-LeetCode 105. Construct Binary Tree from Preorder and Inorder Traversal
- Leetcode: Binary Tree Preorder Traversal
- 【leetcode】105. Construct Binary Tree from Preorder and Inorder Traversal
- Binary Tree Preorder Traversal -- leetcode
- leetcode || 105、Construct Binary Tree from Preorder and Inorder Traversal
- LeetCode题解:Binary Tree Preorder Traversal
- [Leetcode]Binary Tree Preorder Traversal
- leetcode--第5章--树-5.1二叉树的遍历--5.1.1 binary tree preorder traversal