2
* Definition for a binary tree node.3
* function TreeNode(val, left, right) {4
* this.val = (val===undefined ? 0 : val)5
* this.left = (left===undefined ? null : left)6
* this.right = (right===undefined ? null : right)10
* @param {number[]} inorder11
* @param {number[]} postorder14
var buildTree = function (inorder, postorder) {15
let postIndex = postorder.length - 1;17
const dfs = (left, right) => {18
if (left > right) return null;20
const val = postorder[postIndex--];21
const mid = inorder.findIndex((e) => e === val);22
const root = new TreeNode(val);24
root.right = dfs(mid + 1, right);25
root.left = dfs(left, mid - 1);30
return dfs(0, inorder.length - 1);