二叉排序树的判断(hackerrank) java

简单介绍下二叉树排序树:

  1. The value of every node in a node’s left subtree is less than the data value of that node.
  2. The value of every node in a node’s right subtree is greater than the data value of that node.

    之前在网上看到很多人写的,只想说你们测试过吗?你们测试了几个案例?

    下面开始写我在hackerrank测试满分的源码:

boolean checkBST(Node root) {
    return checkBST(root, Integer.MIN_VALUE, Integer.MAX_VALUE); 
}

boolean checkBST(Node root, int min, int max) {
    if (root == null) return true; 

    if (root.data <= min || root.data >= max)
        return false;

    if (!checkBST(root.left, min, root.data) || !checkBST(root.right, root.data, max))
        return false;

    return true;
}

重载是为了支持更多方式使用,根本还是第二个方法。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值