思路:递归求解的时候需要传入区间,即当前节点的值必须落入的范围。
code:
class Solution {
public:
bool isBST(TreeNode *root, int leftBoundary, int rightBoundary){
if(root != NULL){
if(root->val > leftBoundary && root->val < rightBoundary){
return isBST(root->left,leftBoundary,root->val) && isBST(root->right,root->val,rightBoundary);
}
return false;
}
return true;
}
bool isValidBST(TreeNode *root) {
return isBST(root,INT_MIN,INT_MAX);
}
};
本文介绍了一种使用递归方法验证二叉搜索树(BST)的算法,通过设定每个节点的值范围来确保BST性质的正确性。详细解释了代码实现过程,包括边界条件的设定和递归调用的使用。
817

被折叠的 条评论
为什么被折叠?



