码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-05-18 21:00:54      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:pytho   搜索   tco   for   思路   bsp   turn   max   float   

题目:

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

思路:

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

程序 :

# 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)

  

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

标签:pytho   搜索   tco   for   思路   bsp   turn   max   float   

原文地址:https://www.cnblogs.com/zhuozige/p/12912670.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!