golang 98.验证二叉搜索树
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang 98.验证二叉搜索树相关的知识,希望对你有一定的参考价值。
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func isValidBST(root *TreeNode) bool {
return isValid(root, -1<<63, 1<<63 - 1)
}
func isValid(root *TreeNode, min, max int) bool {
if root == nil {
return true
}
if root.Val <= min {
return false
}
if root.Val >= max {
return false
}
return isValid(root.Left, min, root.Val) && isValid(root.Right, root.Val, max)
}
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func isValidBST(root *TreeNode) bool {
inorder := inOrder(root)
for i:=1;i<len(inorder) ;i++ {
if inorder[i-1] >= inorder[i] {
return false
}
}
return true
}
func inOrder(root *TreeNode) []int {
if root == nil {
return []int{}
}
return append(append(inOrder(root.Left), root.Val), inOrder(root.Right)...)
}
golang 日志打印后程序直接退出
参考技术A
在一段 http get 的程序中,如果出现错误,打印日志后会导致程序退出。
将 log.Fatal 修改为 log.Println 即可解决问题。
感觉一个函数做了本不该它做的事情,有些好奇,golang 设计者的设计哲学。
以上是关于golang 98.验证二叉搜索树的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode:验证二叉搜索树98
LeetCode 98. 验证二叉搜索树
LeetCode 98. 验证二叉搜索树
刷题-力扣-98. 验证二叉搜索树
Leetcode 98.验证二叉搜索树
98. 验证二叉搜索树