anoldvozer1710.v2
Senior Member
JavaScript:
function buildTree(inorder: number[], postorder: number[]): TreeNode | null {
let map: Map<number, number> = new Map();
for (let i = 0; i < inorder.length; i++) {
map.set(inorder[i], i);
}
let build = function (start: number, end: number) {
if (start > end) return null;
const val = postorder.pop();
const root = new TreeNode(val);
root.right = build(map.get(val) + 1, end);
root.left = build(start, map.get(val) - 1);
return root;
}
return build(0, inorder.length - 1);
};