class Solution {
public:
TreeNode * buildTree(vector<int>& preorder, vector<int>& inorder) {
int a = preorder.size();
int b = inorder.size();
return constructree(preorder, inorder, 0, a - 1, 0,b - 1);
}
TreeNode *constructree(vector<int>& preorder, vector<int>& inorder, int prel, int prer, int inl, int inr) {
if (prel > prer) return NULL;
int tmp(preorder[prel]);
int i;
for (i = inl; i <= inr; i++) {
public:
TreeNode * buildTree(vector<int>& preorder, vector<int>& inorder) {
int a = preorder.size();
int b = inorder.size();
return constructree(preorder, inorder, 0, a - 1, 0,b - 1);
}
TreeNode *constructree(vector<int>& preorder, vector<int>& inorder, int prel, int prer, int inl, int inr) {
if (prel > prer) return NULL;
int tmp(preorder[prel]);
int i;
for (i = inl; i <= inr; i++) {