力扣98. 验证二叉搜索树

三种解法:1,递归,2.迭代,3,中序遍历(二叉搜索树的中序遍历是一个递增数列)

1.递归

func isValidBST(root *TreeNode) bool {
    return helper(root, math.MinInt64, math.MaxInt64)
}

func helper(root *TreeNode, lower, upper int) bool {
    if root == nil {
        return true
    }
    if root.Val <= lower || root.Val >= upper {
        return false
    }
    return helper(root.Left, lower, root.Val) && helper(root.Right, root.Val, upper)
}

 

你可能感兴趣的:(go)