Я не понимаю, почему объявление 'int' в этом методе возвращает фактическое значение вместо сбоя. Считается ли существование узла как 1 (истина), а затем объединенному значению всех «истин» присваивается значение int (rDepth или lDepth)?
Это метод класса в BST.
public static int getHeight(Node root){
if(root==null) {return -1;}
int rDepth=getHeight(root.right);
int lDepth=getHeight(root.left);
return Math.max(rDepth, lDepth)+1;
}
Я ожидал, что объявление int, а затем присвоение ему метода, указывающего на другой объектный узел, не будут работать вообще.