给你一个二叉树的根节点 root
,判断其是否是一个有效的二叉搜索树。
思路
由于数据范围限制了二叉搜索树中的结点值的取值范围,因此上述取值范围可以用闭区间表示。对于二叉搜索树的每一个子树(包括原二叉搜索树本身),如果其结点值的取值范围是 [lowerBound,upperBound],子树的根结点值为 mid,则该子树的左子树和右子树的结点值取值范围分别是 [lowerBound,mid−1] 和[mid+1,upperBound]。
判断给定的二叉树是否是二叉搜索树,可以通过判断给定的二叉树的每一个子树是否是二叉搜索树,即每一个子树是否都满足结点值在特定取值范围内。从根结点开始遍历二叉树,对于每个结点,判断其子树的结点值是否在特定取值范围内。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。