У меня есть двоичное дерево, и я хочу проверить, сбалансировано ли дерево. У меня есть следующий код:
public boolean isBalanced(){
return balanced(root);
}
public boolean balanced(Node current){
int leftHeight;
int rightHeight;
if(current == null){
return true;
}
leftHeight = height(current.left);
rightHeight = height(current.right);
if(leftHeight - rightHeight <= 1){
return true;
}
return false;
}
int height(Node node)
{
/* base case tree is empty */
if (node == null)
return 0;
/* If tree is not empty then height = 1 + max of left
height and right heights */
return 1 + Math.max(height(node.left), height(node.right));
}
Тест выдает ошибку java.lang.AssertionError
, но не более подробную информацию. Я не могу понять, откуда взялась эта ошибка.