题解 | #牛群中的编号是否有效#
牛群中的编号是否有效
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)
}
查看3道真题和解析