145.二叉树的后序遍历

给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历

示例 1:

image1

输入: root = [1,null,2,3]
输出: [3,2,1]

示例 2:

输入: root = []
输出: []

示例 3:

输入: root = [1]
输出: [1]

提示:

  • 树中节点的数目在范围 [0, 100]
  • 100 <= Node.val <= 100

进阶:递归算法很简单,你可以通过迭代算法完成吗?

Related Topics

  • 深度优先搜索
  • 二叉树

题目链接: link

解答

本题的难度是 Easy.

最近感觉是捅了树窝了, 这题和前两天的题目一样, 都只是定义.

代码如下:

class Solution {
    public List<Integer> postorderTraversal(TreeNode root) {
    List<Integer> result = new ArrayList<>();
        middleOrder(result, root);
        return result;
    }
    private void middleOrder(List<Integer> result, TreeNode node){
        if(node == null){return;}
        if(node.left == null && node.right == null){
            result.add(node.val);
            return;
        }
        middleOrder(result, node.left);
        middleOrder(result, node.right);
        result.add(node.val);
        
    }
}

自然也是 0ms, 击败 100% 的提交.