class TreeNode {
constructor(val, left, right) {
this.val = val === undefined ? 0 : val;
this.left = left === undefined ? null : left;
this.right = right === undefined ? null : right;
}
}
const postOrderTraversal = (root) => {
let result = [];
const dfs = (node) => {
if (node === null) return;
dfs(node.left);
dfs(node.right);
result.push(node.val);
}
dfs(root);
return result;
}
const postOrderTraversal = (root) => {
const stack = [];
const result = [];
if (root === null) return result;
stack.push(root);
while (stack.length) {
const node = stack.pop();
result.unshift(node.val);
node.left && stack.push(node.left);
node.right && stack.push(node.right);
}
return result;
};