/ * Получение ошибки времени выполнения * /
TreeNode * create (vector & B, int start, int end, unordered_map & m) {if (start> end) {return NULL;}
TreeNode* newNode = new TreeNode(B[end]);
newNode->left = create(B, start, m[B[end]]-1, m);
newNode->right = create(B, m[B[end]], end-1, m);
return newNode;
}
TreeNode * Solution :: buildTree (vector & A, vector & B) {unordered_map m;
for(int i=0; i<A.size(); i++){
m[A[i]] = i;
}
TreeNode* p = create(B, 0, B.size()-1, m);
return p;
}