LeetCode 98. Validate Binary Search Tree

最容易想到的思路就是中序遍历,然后看是不是递增数列。

也可以像下面这样,用最大最小值区间来判断

class Solution {
public:
    bool helper(TreeNode* node, long mn, long mx){
        if(!node)
            return true;
        
        if(node->val<=mn || node->val>=mx)
            return false;
        
        return helper(node->left, mn, node->val) && helper(node->right, node->val, mx);
    }
    
    bool isValidBST(TreeNode* root) {
        return helper(root, LONG_MIN, LONG_MAX);
    }
};

 

posted @ 2019-08-07 07:57  刷题不挨踢  阅读(89)  评论(0编辑  收藏  举报