重建二叉树
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/bdeaaa64f7e7cddbf38dea981273b190.png)
class Solution {
public:
TreeNode* reConstructBinaryTree(vector<int> pre,vector<int> vin) {
if(pre.size()==0||vin.size()==0){
return NULL;
}
TreeNode* root =new TreeNode(pre[0]);
for(int i=0;i<vin.size();i++){
if(vin[i]==root->val){
root->left=reConstructBinaryTree(vector<int>(pre.begin()+1,pre.begin()+i+1),vector<int>(vin.begin(),vin.begin()+i));
root->right=reConstructBinaryTree(vector<int>(pre.begin()+i+1,pre.end()),vector<int>(vin.begin()+i+1,vin.end()));
break;
}
}
return root;
}
};
二叉树序列化与反序列化(难)