Я написал следующую рекурсивную функцию для подсчета всех узлов в двоичном дереве поиска.Подсчет узлов в двоичном дереве поиска
class BST {
...........
int lc=0,rc=0;
int totalnodes(Node root){
if(root==null)return 0;
lc=totalnodes(root.left);
rc=totalnodes(root.right);
return rc+lc+1;
}
}
Приведенные выше результаты функции в неправильном answer.However, следующий код работает:
class BST {
int totalnodes(Node root){
if(root==null)return 0;
return totalnodes(root.left)+totalnodes(root.right)+1;
}
}
Что это такое, что мне не хватает с первой функцией.