import java.util.*; /* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * public TreeNode(int val) { * this.val = val; * } * } */ public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return int整型一维数组 */ public int[] postorderTraversal (TreeNode root) { // write code here if(root == null){ return new int[]{}; } // write code here int[] left = postorderTraversal(root.left); int[] right = postorderTraversal(root.right); int [] result = new int[left.length + right.length + 1]; System.arraycopy(left, 0, result, 0, left.length); System.arraycopy(right, 0, result, left.length, right.length); result[result.length - 1] = root.val; return result; } }
二叉树后序遍历,分成左右两个分支然后递归。