145. 二叉树的后序遍历
这题的做法思路基本和中序遍历思路一样,用递归去写的话,时间复杂度是O(N), 空间复杂度是O(N), 空间复杂度的具体是树的大小,时间复杂度是遍历这棵树所有节点的时间。
递归做法
public List<Integer> postorderTraversal(TreeNode root) { ArrayList<Integer>arrayList = new ArrayList<>(); postorder(root,arrayList); return arrayList; } /** * 后序遍历的写法是左子树 右子树 然后 父节点这样子,用递归就可以很好的做出来 */ public void postorder(TreeNode treeNode, ArrayList arrayList){ if (treeNode != null){ if (treeNode.left != null){ postorder(treeNode.left,arrayList); } if (treeNode.right != null){ postorder(treeNode.right,arrayList); } arrayList.add(treeNode.val); } }
浙公网安备 33010602011771号