BinarySearchTree isBalanced метод не работает - PullRequest
0 голосов
/ 29 сентября 2018

Здравствуйте, это мой метод isBalanced и соответствующие помощники.

 public boolean isBalanced() {
      return isBalancedHelper(root);
  }

  public boolean isBalancedHelper(Node node) {
      if(node == null) {
          return true;
      }

      int heightDif = height(node.left) - height(node.right);
      if(Math.abs(heightDif) > 1) {
          return false;
      }
      else {
          return isBalancedHelper(node.left) && isBalancedHelper(node.right);
      }
  }

  public int height(Node node) {
      if(node == null) {
          return 0;
      }
      return 1 + Math.max(height(node.left), height(node.right));
  }

У меня нет тестов, чтобы он проваливался, потому что он в авторейдере, но в выходном сообщении об этом сказано.

isBalanced () возвращает истину, когда левый потомок не равен нулю, а правый равен нулю.

Я смотрю на это некоторое время и не могу понять, почему это не такза работой.Есть предложения?

...