您的位置:首页 > 其它

LeetCode - Validate Binary Search Tree

2013-09-25 14:01 579 查看
Given a binary tree, determine if it is a valid binary search tree (BST).

Assume a BST is defined as follows:

The left subtree of 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.

bool check(TreeNode* root, int minValue, int maxValue) {
    if (NULL == root) {
        return true;
    }

    return (root->val > minValue) && (root->val < maxValue)
            && check(root->left, minValue, root->val)
            && check(root->right, root->val, maxValue);
}

bool isValidBST(TreeNode *root) {
    // Start typing your C/C++ solution below
    // DO NOT write int main() function
    return check(root, INT_MIN, INT_MAX);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: