/*
 * function TreeNode(x) {
 *   this.val = x;
 *   this.left = null;
 *   this.right = null;
 * }
 */

/**
 * 后序遍历:左子树 右子树 根
 */
function traversal(root, list) {
    if (!root) return list;

    root.left && traversal(root.left, list);
    root.right && traversal(root.right, list);
    list.push(root.val);
}

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param root TreeNode类
 * @return int整型一维数组
 */
function postorderTraversal(root) {
    const list = [];
    traversal(root, list);
    return list;
}

module.exports = {
    postorderTraversal: postorderTraversal,
};