当检查二叉树是否为二叉搜索树时,在树的最右边有一个空指针异常。当最右边的叶子的左边为空时,我得到一个空指针异常。我认为问题在于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;
}