37 lines
565 B
Go
37 lines
565 B
Go
|
|
package main
|
||
|
|
|
||
|
|
type TreeNode struct {
|
||
|
|
Val int
|
||
|
|
Left *TreeNode
|
||
|
|
Right *TreeNode
|
||
|
|
}
|
||
|
|
|
||
|
|
func main() {
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
func isValidBST(root *TreeNode) bool {
|
||
|
|
var helper func(root *TreeNode) []int
|
||
|
|
helper = func(root *TreeNode) []int {
|
||
|
|
if root == nil {
|
||
|
|
return []int{}
|
||
|
|
}
|
||
|
|
tmp := make([]int, 0)
|
||
|
|
tmp = append(tmp, helper(root.Left)...)
|
||
|
|
tmp = append(tmp, root.Val)
|
||
|
|
tmp = append(tmp, helper(root.Right)...)
|
||
|
|
|
||
|
|
return tmp
|
||
|
|
}
|
||
|
|
res := helper(root)
|
||
|
|
for i := 0; i < len(res); i++ {
|
||
|
|
if i == 0 {
|
||
|
|
continue
|
||
|
|
}
|
||
|
|
if res[i-1] >= res[i] {
|
||
|
|
return false
|
||
|
|
}
|
||
|
|
}
|
||
|
|
return true
|
||
|
|
}
|