题目大意:后序遍历二叉树。
法一:普通递归,只是这里需要传入一个list来存储遍历结果。代码如下(耗时1ms):
1 public List<Integer> postorderTraversal(TreeNode root) { 2 List<Integer> list = new ArrayList<Integer>(); 3 list = dfs(root, list); 4 return list; 5 } 6 public static List<Integer> dfs(TreeNode root, List<Integer> list) { 7 if(root == null) { 8 return list; 9 } 10 else { 11 list = dfs(root.left, list); 12 list = dfs(root.right, list); 13 list.add(root.val); 14 return list; 15 } 16 }