Algorithm 用于验证二进制搜索树的Scala程序

Algorithm 用于验证二进制搜索树的Scala程序,algorithm,scala,data-structures,Algorithm,Scala,Data Structures,我在使用递归运行二进制搜索树验证代码时遇到一些错误。任何人都可以查看该方法并确认它是否是一种优化的验证方法吗 我还需要一些输入来解决下面的错误 错误:需要标识符,但找到“val”,表达式的开头非法 object Solution { def isValidBST(root: TreeNode): Boolean = { if (root == null) true isValidBST(root.left, Double.MAX_VALUE, root.val) &am

我在使用递归运行二进制搜索树验证代码时遇到一些错误。任何人都可以查看该方法并确认它是否是一种优化的验证方法吗

我还需要一些输入来解决下面的错误

错误:需要标识符,但找到“val”,表达式的开头非法

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)

  }


}
val是一个保留字。不能将其用作变量或数据成员名称。 它是Double.MaxValue,不是Double.MAX\u VALUE。 递归没有退出路径,因为if表达式没有else子句。
请尝试创建一个-1,因为您不仅没有回答我对您的评论,而且还创建了一个问题,这个问题也有相同的问题,这使得试图帮助实现算法的人非常困惑,因为Scala语言的使用存在许多基本问题。