Validate BinarySearchTree
Page 1 of 1
Validate BinarySearchTree
public boolean isValidBST(BTreeNode root) {
if(root==null)
return true;
return recurse(root, Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY);
}
public boolean recurse(BTreeNode root, double low, double high){
if(root.val<=low || root.val>=high)
return false;
if(root.left!=null && !recurse(root.left, low, root.val))
return false;
if(root.right!=null && !recurse(root.right, root.val, high))
return false;
return true;
}
if(root==null)
return true;
return recurse(root, Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY);
}
public boolean recurse(BTreeNode root, double low, double high){
if(root.val<=low || root.val>=high)
return false;
if(root.left!=null && !recurse(root.left, low, root.val))
return false;
if(root.right!=null && !recurse(root.right, root.val, high))
return false;
return true;
}
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum
|
|