Leetcode_Validate Binary Search Tree

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.
    class Solution {
    public:
        void  isValid(TreeNode *root ,int &pre,bool &s) {
            if(root==NULL)
            return ;
            else{
             
              isValid(root->left,pre ,s);
            
              if(root->val <= pre ){
                  s = false;
                  return;
              }
              pre = root->val;
              isValid(root->right,pre,s);
              
              
              
            }
            
        }
        bool isValidBST(TreeNode *root) {
            bool s=true;
            int pre=-2000000;
             isValid(root,pre,s);
            return s;
        }
    };
点赞