题解 | #牛群中的编号是否有效#

牛群中的编号是否有效

https://www.nowcoder.com/practice/2b4279d545124277a06a8e5eaa802375

知识点:

二叉搜索树

解题思路:

递归的维护的判断所有节点是否满足条件,这个条件在递归过程中一直在变化,可以自己画图理解一下

语言:

Golang

package main
/*
 * type TreeNode struct {
 *   Val int
 *   Left *TreeNode
 *   Right *TreeNode
 * }
 */

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param root TreeNode类 
 * @return bool布尔型
*/
func isValidBST( root *TreeNode ) bool {
    // write code here
   return isValid(root,nil,nil)
}
func isValid(root *TreeNode,min *TreeNode,max *TreeNode) bool{
    if root == nil{
        return true
    }
    if min!=nil && root.Val <= min.Val{
        return false
    }
    if max!=nil && root.Val >= max.Val{
        return false
    }
    return isValid(root.Left,min,root) && isValid(root.Right,root,max)
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-19 19:05
点赞 评论 收藏
分享
流浪的神仙:无恶意,算法一般好像都得9硕才能干算法太卷啦
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务