力扣98:验证二叉搜索树

给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。

有效 二叉搜索树定义如下:

  • 节点的左 子树

    只包含小于当前节点的数。

  • 节点的右子树只包含 大于 当前节点的数。

  • 所有左子树和右子树自身必须也是二叉搜索树。

示例 1:

复制代码
输入:root = [2,1,3]
输出:true

示例 2:

复制代码
输入:root = [5,1,4,null,null,3,6]
输出:false
解释:根节点的值是 5 ,但是右子节点的值是 4 。

提示:

  • 树中节点数目范围在[1, 104]
  • -231 <= Node.val <= 231 - 1

代码:

复制代码
bool isBST(struct TreeNode* root, long min, long max){
    if(root == NULL)
        return true;
    return (root->val > min) && (root->val < max )&& isBST(root->left,min,root->val) && isBST(root->right,root->val,max);
}

bool isValidBST(struct TreeNode* root) {
    return isBST(root, LONG_MIN,LONG_MAX);
}
相关推荐
黑牛先生31 分钟前
【数据结构】图算法(代码)
数据结构·算法
tt55555555555535 分钟前
C++ 标准模板库(STL)详解文档
数据结构·c++·算法
Moonbit38 分钟前
MoonBit Pearls Vol.01:使用MoonBit编写Pratt解析器
算法
jndingxin1 小时前
c++面试题(2)-----计算一个数字的二进制数中1的个数
c++·算法
谢耳朵(wer~wer~)1 小时前
AcWing--数据结构1
数据结构·c++·算法
灯笼只能来教室体验生活1 小时前
蓝桥杯 2024 15届国赛 A组 儿童节快乐
算法
智驱力人工智能1 小时前
雨季智慧交通:从车辆盲区到客流统计的算法全覆盖
人工智能·科技·算法·安全·智慧城市·智慧交通·渣土车识别
智驱力人工智能2 小时前
大型活动交通拥堵治理的视觉算法应用
人工智能·算法·智慧城市·边缘计算·智慧交通·车牌识别算法·堵车识别算法
?!7142 小时前
算法打卡17天(补)
c++·算法·职场和发展
朝朝又沐沐3 小时前
基于算法竞赛的c++编程(28)结构体的进阶应用
开发语言·c++·算法