Java Solution | Easy to understand
\n```\nclass Solution {\n    static List list;\n    public List postorder(Node root) {\n        list = new ArrayList<>();\n        traverse(root);\n        retu
\n```\nclass Solution {\n    static List<Integer> list;\n    public List<Integer> postorder(Node root) {\n        list = new ArrayList<>();\n        traverse(root);\n        return list;\n    }\n\n    private void traverse(Node root) {\n        if (root == null) return;\n\n        for (Node child : root.children) {\n            traverse(child);\n        }\n        list.add(root.val);\n    }\n}
[]