Trees and Graphs‎ > ‎

Validate BST

Validate Binary Search Tree correctness.

bool isValidBST(BinaryTreeNode *node)
{
	return isValidBSTHelper(nodeINT_MININT_MAX);
}
 
bool isValidBSTHelper(BinaryTreeNode *nodeint minint max)
{
	if (node == nullptr)
	    return true;
	if (node->val > min &&
	    node->val < max &&
	    isValidBSTHelper(node->left, minnode->val) &&
	    isValidBSTHelper(node->right, node->val, max))
	    return true;
	else
	    return false;
}