java判断一个二叉树是不是合法的二分查找树

论坛 期权论坛 期权     
凝帝系列3vLf怊   2018-4-26 13:59   2827   1
分享到 :
0 人收藏

1 个回复

倒序浏览
2#
热心网友  15级至尊 | 2018-4-30 01:56:18 发帖IP地址来自
java判断一个二叉树是不是合法的二分查找树
/* 判断一个二叉树是不是合法的二分查找树的简单的递给方法,学习
* 采用自顶向下的遍历方式,对于每个节点,检查顶部传来的范围要求,
* 要求是指:对于左子树,父节点的值就是最大值,对于右子树,父节点的值就是最小值
*/
public boolean isValidBST(TreeNode root) {

//初始的时候,对根节点没有范围要求
return isValidBST(root, Long.MIN_VALUE, Long.MAX_VALUE);
}

public boolean isValidBST(TreeNode root, long minVal, long maxVal) {
if (root == null) return true;

//检查是否满足根节点的范围要求
if (root.val >= maxVal || root.val
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP