Я пытаюсь подсчитать узлы в BST, однако retval
не увеличивается. Через отладку я вижу, что каждый узел посещается, но я не уверен, почему он не увеличивается. Я знаю, что у меня есть 3 узлов в дереве и он возвращает 0 ...BST Не увеличивая количество узлов в Java
public int countNodes(){
if (root == null)
throw new NullPointerException();
return countNodes(root);
}
private int countNodes(LNode ptr){
int retval = 1;
if (root != null && ptr.right == null && ptr.left == null)
return retval = 1;
else
retval = countNodes(ptr.right) + countNodes(ptr.left) + 1;
return retval;
}
Я также попытался не используя retval
провести подсчет:
private in countNodes(LNode ptr){
if (root != null && ptr.right == null && ptr.left == null)
return 1;
else
return= countNodes(ptr.right) + countNodes(ptr.left) + 1;
}
Пожалуйста, создайте [минимальный тестовый пример] (http://sscce.org), который показывает, что он возвращает 0. –