先序 中序 递归建树
TreeNode* Build(string str1,string str2) {
if(str1.size()==0){
return NULL;
}
char c=str1[0];
TreeNode* root=new TreeNode(c);
int p=str2.find(c);
root->leftchild=Build(str1.substr(1,p),str2.substr(0,p));
root->rightchild=Build(str1.substr(p+1),str2.substr(p+1));
return root;
}
if(str1.size()==0){
return NULL;
}
char c=str1[0];
TreeNode* root=new TreeNode(c);
int p=str2.find(c);
root->leftchild=Build(str1.substr(1,p),str2.substr(0,p));
root->rightchild=Build(str1.substr(p+1),str2.substr(p+1));
return root;
}