1.11 剑指offer

73 阅读1分钟

105 重建二叉树

// 基本解法
var buildTree = function(preorder, inorder) {
    if(preorder.length==0) return null;
    let root = new TreeNode(preorder[0]);
    let count = 0;
    while(inorder[count]!=root.val){
        count++;
    }
    root.left = buildTree(preorder.slice(1,count+1),inorder.slice(0,count));
    root.right = buildTree(preorder.splice(count+1),inorder.splice(count+1));
    return root;
};