98. Validate Binary Search Tree

来源:互联网 发布:秦时明月知乎 编辑:程序博客网 时间:2024/06/05 06:17

判断是否是BST,需要注意的是你不能只判断root的左儿子小于根节点,根节点小于右儿子,而是需要保证右子树所有的点都要大于根节点,左子树所有的点都小于根节点。所以可以做中序遍历,然后判断遍历所得的数组,是否是递增的。

class Solution {public:vector<int> n;    bool isValidBST(TreeNode* root) {        n.clear();        inorder(root);        for(int i = 1; i < n.size(); i++)        if(n[i] <= n[i - 1])return false;        return true;    }    void inorder(TreeNode* root)    {    if(root == NULL)return ;    inorder(root->left);    n.push_back(root->val);    inorder(root->right);    }};


原创粉丝点击