Valid Binary Search Tree

bool checkValidity(TreeNode *A, long long min = INT_MIN, long long max = INT_MAX) {
    if(!A) return true;
    
    if(A->val <= min || A->val >= max)
        return false;
        
    return checkValidity(A->left, min, A->val) && checkValidity(A->right, A->val, max);
    
}

int Solution::isValidBST(TreeNode* A) {
    return checkValidity(A) ? 1 : 0;
}

Last updated