这是我写的方法,一个元素[0]输入这种情况下,我本地跑出来是 BST,但是 Leetcode submit 结果确实不是
package main
import (
"fmt"
)
const MaxUint = ^uint(0)
const MinUint = 0
const MaxInt = int(MaxUint >> 1)
const MinInt = -MaxInt - 1
var preData = MinInt
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
func isValidBST(root *TreeNode) bool {
if root == nil {
return true
}
isValid := isValidBST(root.Left)
if !isValid || preData >= root.Val {
return false
}
preData = root.Val
isValid = isValidBST(root.Right)
return isValid
}
func main() {
root := &TreeNode{
Val: 0,
Left: nil,
Right: nil,
}
res := isValidBST(root)
if res {
fmt.Printf("Tree is valid BST \n")
} else {
fmt.Printf("Tree is not valid BST \n")
}
}
是我写的有问题吗?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.