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[]} preorder11
* @param {number[]} inorder14
var buildTree = function (preorder, inorder) {16
function create(inorderStart, inorderEnd) {17
if (idx === preorder.length || inorderStart > inorderEnd) {20
const root = new TreeNode(preorder[idx]);21
const mid = inorder.indexOf(preorder[idx]);23
root.left = create(inorderStart, mid - 1);24
root.right = create(mid + 1, inorderEnd);28
return create(0, inorder.length - 1);