• Leetcode练习(Python):树类:第98题:验证二叉搜索树:给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。


    题目:

    验证二叉搜索树:给定一个二叉树,判断其是否是一个有效的二叉搜索树。  假设一个二叉搜索树具有如下特征:  节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。  

    思路:

    遇到树第一想到了递归,用递归来实现。

    程序 :

    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    
    class Solution:
        def isValidBST(self, root: TreeNode) -> bool:
            return self.auxiliary(root, float('inf'), float('-inf'))
            
        def auxiliary(self, root: TreeNode, max_for_node, min_for_node):
            if not root:
                return True
            elif root.val >= max_for_node or root.val <= min_for_node:
                return False
            return self.auxiliary(root.left, root.val, min_for_node) and self.auxiliary(root.right, max_for_node, root.val)
    

      

  • 相关阅读:
    设置cookie,读取cookie案例
    npm常用命令及版本号浅析
    nrm安装与使用
    ES6解构赋值
    nodemon 基本配置与使用
    nodejs开发辅助工具nodemon
    Node自动重启工具 nodemon
    深入浅出Object.defineProperty()
    js原生缓慢返回顶部函数封装
    The linux command 之权限
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12912670.html
Copyright © 2020-2023  润新知