[LeetCode OJ]- Valid Binary Sea
2017-03-22 本文已影响0人
其中一个cc
题目要求:验证一个树是否为二叉搜索树。
二叉搜索树:(BST,二叉排序树,二叉查找树)。
一颗二叉检索树或者为空树,或者满足:
左子树的所有值都小于根节点的值,右子树的所有值都大于根节点的值。并且左右子树均为二叉搜索树。下图中,第一个树是BST,第二个树不是BST(原因:6<10)。
一颗BST 不是BST因此,为了验证一颗二叉树是否为BST,只比较根节点和左右子节点的大小是不行的,还需要验证整个左右子树是否满足要求。
那么,我们可以使用两个值来限定子树的取值范围,上限max,下限min,每次递归时,都可以把当前节点的值赋给上限或者下限。
代码如下。