Construct Binary Tree from Preorder and Postorder Traversal LeetCode solution in JavaScript

1
var constructFromPrePost = function (preorder, postorder) {
2
let preIndex = 0;
3

4
const dfs = (postArr) => {
5
if (postArr.length === 0) return null;
6

7
const val = preorder[preIndex];
8
const nextVal = preorder[++preIndex];
9
const mid = postArr.indexOf(nextVal);
10

11
const root = new TreeNode(val);
12
root.left = dfs(postArr.slice(0, mid + 1));
13
root.right = dfs(postArr.slice(mid + 1, postArr.indexOf(val)));
14

15
return root;
16
};
17

18
return dfs(postorder);
19
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0