98. 验证二叉搜索树
来源: 98. 验证二叉搜索树
1. 题目描述
给定一个二叉树,判断其是否是一个有效的二叉搜索树。
假设一个二叉搜索树具有如下特征:
节点的左子树只包含小于当前节点的数。
节点的右子树只包含大于当前节点的数。
所有左子树和右子树自身必须也是二叉搜索树。
2. 解题思路
递归
3. 代码
class Solution:
def isValidBST(self, root: TreeNode) -> bool:
return self.isValidBSTMinAndMax(root, -(2**32), 2**32)
def isValidBSTMinAndMax(self, root, min, max):
if root is None:
return True
if root.val >= max or root.val <= min:
return False
return self.isValidBSTMinAndMax(root.left, min, root.val) and self.isValidBSTMinAndMax(root.right, root.val, max)
网友评论