赞
踩
给定一个二叉树,一个由二叉树节点组成的二叉树数据结构。每个二叉树节点都有一个整型值存储在名为“value”的属性中,两个子节点分别存储在名为“left”和“right”的属性中。子节点可以是二叉树节点本身,也可以是None(null)值。
**编写一个函数,返回一个表示二叉树是否为有效BST的布尔值。**当且仅当一个节点满足BST属性时,才称其为BST节点:
思路比较简单的,就是判断每个节点是否满足二叉搜索树的性质:
思路一 : 如果是二叉搜索树,按照左根右中序遍历,则应该得到一个从小到大的排序列表,如果不满足,则不是二叉搜索树。
思路二: 遍历n个节点,判断当前节点是否满足二叉搜索树的性质,如果是左子节点,其最大值应该小于或等于其父节点的值;如果是右子节点,其最小值应该大于或等于其父节点的值。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。