Цель моего кода - импортировать treeNodes из массива. Проблема в том, что даже при создании новых узлов дерева я обязательно установил root-> left и root-> right как NULL.
Когда я пересекаю дерево и оказываюсь у листьев дерева, левый и правый члены все еще НЕ НУЛЬТЫ.
treeNode* import_treeNode(treeNode* root, int nodes[], int curr_i, int size){
if (curr_i < size){
treeNode* newNode = new treeNode;
root = newNode;
root->value = nodes[curr_i];
if (2 * curr_i + 1 < size){
root->left = import_treeNode(root->left, nodes, 2 * curr_i + 1, size);
} else {
root->left = NULL;
}
if (2 * curr_i + 2 < size){
root->right = import_treeNode(root->right, nodes, 2 * curr_i + 2, size);
} else {
root->right = NULL;
}
return root;
} else {
return NULL;
}
}