98. 验证二叉搜索树


?做题思路or感想:

对于二叉搜索树,用中序遍历时,二叉树的节点值是递增的

对于二叉搜索树,用中序遍历时,二叉树的节点值是递增的

对于二叉搜索树,用中序遍历时,二叉树的节点值是递增的

我真是服了我怎么老是忘记啊

故这里的思路就是判断是不是递增了,懂了上面的话后就相当简单了

class Solution {
public:
    vectorresult;	//记录二叉搜索树的节点值
    void dfs(TreeNode* cur) {
        if (cur == nullptr)return;	//递归中止条件
        //中序遍历
        dfs(cur->left);
        result.push_back(cur->val);
        dfs(cur->right);
    }
    bool isValidBST(TreeNode* root) {
        dfs(root);
        //检验是否递增
        for (int i = 1; i < result.size(); i++) {
            if (result[i] <= result[i - 1])return false;
        }
        return true;
    }
};