2021年3月2日星期二

Validate Binary Search Tree-1

my solution failed for second example i dont know why, pls explain.

Here is the question:

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  

Input: [2,1,3]

Output: true

Example 2:

                 5                  / \                 1   4                    / \                   3   6  

Input: [5,1,4,null,null,3,6]

Output: false

Explanation: The root node's value is 5 but its right child's value is 4.

  class Solution {  public:      bool util(TreeNode*root,int minv=INT_MIN,int maxv=INT_MAX)      { if(root==NULL)          return true;       if((root->val >= minv and root->val <= maxv) and   util(root->left,minv,root->val)and util(root->right,root->val,maxv));           return true;          return false;      }      bool isValidBST(TreeNode* root) {          return util(root);      }  };  
https://stackoverflow.com/questions/66450793/validate-binary-search-tree-1 March 03, 2021 at 12:28PM

没有评论:

发表评论