Binary Tree Postorder Traversal
2014-01-27 08:05
555 查看
Given a binary tree, return the postorder traversal of its nodes' values.
For example:
Given binary tree
return
Note: Recursive solution is trivial, could you do it iteratively?
public class BinaryTreePostorderTraversal {
public ArrayList<Integer> postorderTraversal(TreeNode<Integer> root) {
if(root == null){
return new ArrayList<Integer>();
}
ArrayList<Integer> left = postorderTraversal(root.left);
ArrayList<Integer> right = postorderTraversal(root.right);
left.addAll(right);
left.add(root.data);
return left;
}
}
或者:
public static ArrayList<Integer> postorderTraversal(TreeNode root){
ArrayList<Integer> list = new ArrayList<>();
if(root == null) return list;
postorderTraversalHelper(root,list);
return list;
}
private static void postorderTraversalHelper(TreeNode root, ArrayList<Integer> list){
if(root == null) return;
postorderTraversalHelper(root.left,list);
postorderTraversalHelper(root.right,list);
list.add(root.val);
}
For example:
Given binary tree
{1,#,2,3},
1 \ 2 / 3
return
[3,2,1].
Note: Recursive solution is trivial, could you do it iteratively?
public class BinaryTreePostorderTraversal {
public ArrayList<Integer> postorderTraversal(TreeNode<Integer> root) {
if(root == null){
return new ArrayList<Integer>();
}
ArrayList<Integer> left = postorderTraversal(root.left);
ArrayList<Integer> right = postorderTraversal(root.right);
left.addAll(right);
left.add(root.data);
return left;
}
}
或者:
public static ArrayList<Integer> postorderTraversal(TreeNode root){
ArrayList<Integer> list = new ArrayList<>();
if(root == null) return list;
postorderTraversalHelper(root,list);
return list;
}
private static void postorderTraversalHelper(TreeNode root, ArrayList<Integer> list){
if(root == null) return;
postorderTraversalHelper(root.left,list);
postorderTraversalHelper(root.right,list);
list.add(root.val);
}
相关文章推荐
- 106. Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode OJ Binary Tree Postorder Traversal
- 5.1.3—二叉树的遍历—Binary Tree Postorder Traversal
- LeetCode 145 Binary Tree Postorder Traversal
- Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode 145 Binary Tree Postorder Traversal
- Binary Tree Postorder Traversal
- LeetCode 145 Binary Tree Postorder Traversal
- LeetCode(106) Construct Binary Tree from Inorder and Postorder Traversal
- Binary Tree Postorder Traversal
- LeetCode:Binary Tree Postorder Traversal
- LeetCode Construct Binary Tree from Inorder and Postorder Traversal 思考分析过程分享
- Leetcode: Construct Binary Tree from Inorder and Postorder Traversal
- Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode:Construct Binary Tree from Inorder and Postorder Traversal,Construct Binary Tree from Preorder and Inorder Traversal
- [LeetCode]106. Construct Binary Tree from Inorder and Postorder Traversal
- Binary Tree Postorder Traversal—LeetCode
- [leetcode]Construct Binary Tree from Inorder and Postorder Traversal (利用中序遍历和后续遍历确定一颗二叉树)
- [LeetCode] 106. Construct Binary Tree from Inorder and Postorder Traversal
- 【leetcode】Binary Tree Postorder Traversal