Validate Binary Search Tree (BST)
Given the root of a binary tree, determine if it is a valid binary search tree (BST).
A valid BST is defined as follows:
The left subtreeof a node contains only nodes with keys less than the node's key.
The right subtree of a node contains only nodes with keys greater than the node's key.
Both the left and right subtrees must also be binary search trees.
class Solution {
public boolean isValidBST(TreeNode root) {
return checker( -INF, INF, root);
}
private boolean checker( long lower, long upper, TreeNode node ){
if( node == null ){
return true;
}
if( (lower < node.val) && ( node.val < upper ) ){
return checker(lower, node.val, node.left) && checker(node.val, upper, node.right);
}
return false;
}
private long INF = Long.MAX_VALUE;
}
Posted by Jamie Meyer 20 days ago