Binary Tree Postorder Traversal
Given a binary tree, return the postorder traversal of its nodes' values.
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?
Show Tags
Have you met this question in a real interview? Yes No
Discuss
SOLUTION 1:
递归解法
1 public List<Integer> postorderTraversal1(TreeNode root) { 2 List<Integer> ret = new ArrayList<Integer>(); 3 dfs(root, ret); 4 return ret; 5 } 6 7 // Solution 1: rec 8 public void dfs(TreeNode root, List<Integer> ret) { 9 if (root == null) { 10 return; 11 } 12 13 dfs(root.left, ret); 14 dfs(root.right, ret); 15 ret.add(root.val); 16 }