LeetCode 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].

 

 1 /**
 2  * Definition for binary tree
 3  * public class TreeNode {
 4  *     int val;
 5  *     TreeNode left;
 6  *     TreeNode right;
 7  *     TreeNode(int x) { val = x; }
 8  * }
 9  */
10 public class Solution {
11     List<Integer> list = new ArrayList<Integer>();
12     public List<Integer> postorderTraversal(TreeNode root) {
13             if (root==null) {
14                 return list;
15             }
16             TreeNode letfTree = root.left;
17             if (letfTree!=null) {
18                 postorderTraversal(letfTree);
19             }
20             TreeNode rightTree = root.right;
21             if (rightTree!=null) {
22                 postorderTraversal(rightTree);
23             }
24             list.add(root.val);
25             return list;
26            
27        }
28 }

 

posted @ 2014-08-28 10:15  birdhack  阅读(102)  评论(0编辑  收藏  举报