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: bool f(TreeNode * root,int low,int high){ if (!root){ return true; } return low < root->val && root->val < high && f(root->left,low,root->val) && f(root->right,root->val,high); } bool isValidBST(TreeNode *root) { // Start typing your C/C++ solution below // DO NOT write int main() function int low = INT_MIN, high = INT_MAX; return f(root,low,high); } };
浙公网安备 33010602011771号