Я пытаюсь написать что-то, чтобы определить наибольшую глубину бинарного дерева, но далеко не получилось только одно, которое постоянно возвращает количество узлов в дереве, и другое, ниже, это всегда еще один или меньше. После нескольких часов попыток отрегулировать это, я мог бы действительно использовать несколько советов ..
void findthedepth(nodeoftree<node>* root, int* depthtotal, int* depthcurrent){
int left = 0, right = 0;
if( root == nullptr ){
*depthtotal = 0;
*depthcurrent = 0;
return;
}
findthedepth(root->rightp(), depthtotal, depthcurrent);
right = *depthcurrent;
*depthcurrent = 0;
findthedepth(root->leftp(), depthtotal, depthcurrent);
left = *depthcurrent;
if (left > right){
*depthtotal += left + 1;
}
else {
*depthtotal += right + 1;
}
}