leetcode-145-easy

Binary Tree Postorder Traversal

Given the root of a binary tree, return the postorder traversal of its nodes' values.

Example 1:

Input: root = [1,null,2,3]
Output: [3,2,1]
Example 2:

Input: root = []
Output: []
Example 3:

Input: root = [1]
Output: [1]
Constraints:

The number of the nodes in the tree is in the range [0, 100].
-100 <= Node.val <= 100
Follow up: Recursive solution is trivial, could you do it iteratively?

思路一:树的后序遍历,顺序是 左->右->中,用递归实现

public List<Integer> postorderTraversal(TreeNode root) {
    ArrayList<Integer> list = new ArrayList<>();
    postorderTraversal(root, list);
    return list;
}

public void postorderTraversal(TreeNode root, List<Integer> list) {
    if (root == null) return;

    preorderTraversal(root.left, list);
    preorderTraversal(root.right, list);
    list.add(root.val);
}
posted @ 2023-01-03 21:35  iyiluo  阅读(28)  评论(0)    收藏  举报