Scala программа для проверки бинарного дерева поиска - PullRequest
0 голосов
/ 04 марта 2020

У меня возникли ошибки при запуске кода для проверки бинарного дерева поиска с использованием рекурсии. Может кто-нибудь взглянуть на метод и подтвердить, является ли он оптимизированным методом для проверки?

Мне также нужны некоторые входные данные для устранения ошибок ниже.

error: идентификатор ожидается, но 'значение найдено, недопустимое начало выражения.

object Solution {

    def isValidBST(root: TreeNode): Boolean = {
    if (root == null) true
    isValidBST(root.left, Double.MAX_VALUE, root.val) &&
    isValidBST(root.right, root.val, Double.MAX_VALUE)
  }

  private def isValidBST(node: TreeNode, min: Double, max: Double): Boolean = {
    if (node == null) true
    if (node.val <= min || node.val >= max) false
    isValidBST(node.left, min, node.val) && isValidBST(node.right,node.val, max)

  }


}

1 Ответ

1 голос
/ 04 марта 2020
  1. val - зарезервированное слово. Вы не можете использовать его как имя переменной или члена данных.
  2. Это Double.MaxValue, а не Double.MAX_VALUE.
  3. Ваша рекурсия не имеет пути выхода, поскольку ваши выражения if не имеют else предложения.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...