美文网首页
98. Validate Binary Search Tree

98. Validate Binary Search Tree

作者: juexin | 来源:发表于2017-01-06 21:37 被阅读0次

    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.

    Example 1:
    2
    /
    1 3
    Binary tree[2,1,3], return true.
    Example 2:
    1
    / \
    2 3
    Binary tree[1,2,3], return false.

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

    相关文章

      网友评论

          本文标题:98. Validate Binary Search Tree

          本文链接:https://www.haomeiwen.com/subject/iqpzvttx.html