liuyingbin19222 / leetcode_training

leetcode
0 stars 0 forks source link

前序遍历和中序遍历构建二叉树-js #11

Open liuyingbin19222 opened 4 years ago

liuyingbin19222 commented 4 years ago

根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7]

代码实现:

var getResult  = function(preorder , inorder){
let tmp = preorder[0];
let mid = inorder.indexOf(tmp);
let root = new TreeNode(tmp);
root.left = getResult(preorder.slice(1,mid+1) , inorder.slice( 0,mid ));
root.right = getResult(preorder.slice( mid +1) , inorder.slice( mid+1 ));  
return root;
}