二进制树是有效的BST-如何防止树末尾出现Null指针异常

时间:2018-11-18 17:22:54

标签: java nullpointerexception

当检查二叉树是否为二叉搜索树时,在树的最右边有一个空指针异常。当最右边的叶子的左边为空时,我得到一个空指针异常。我认为问题在于p.left为空。如何防止此错误?

    public static boolean isValidBST(BinaryTree root) {
        System.out.println(root.value);
        return isValidBST(root, Integer.MIN_VALUE, Integer.MAX_VALUE); 
    }

    private static boolean isValidBST(BinaryTree p, Integer min, Integer max){
        if(p==null) 
            return true;
        Integer va = (Integer) p.value;
        if( min <= va 
               && va <= max
               && isValidBST(p.left, min, va)
               && isValidBST(p.right, va, max))
            return true;
        else 
            return false;        
    }

0 个答案:

没有答案