Учитывая обход и порядок прохождения заказа, создайте двоичное дерево - PullRequest
0 голосов
/ 07 марта 2020

/ * Получение ошибки времени выполнения * /

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;

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...