[Leetcode] 98. 验证二叉搜索树

2020-05-05  本文已影响0人  丶噗噗噗噗噗

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)
上一篇 下一篇

猜你喜欢

热点阅读