首页 > 其他分享 >验证二叉搜索树

验证二叉搜索树

时间:2024-09-22 23:20:26浏览次数:10  
标签:right TreeNode 验证 nullptr 二叉 搜索 root 节点 left

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

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

  • 节点的左子树只包含 小于 当前节点的数。
  • 节点的右子树只包含 大于 当前节点的数。
  • 所有左子树和右子树自身必须也是二叉搜索树。

示例 1:

输入:root = [2,1,3]
输出:true

示例 2:

输入:root = [5,1,4,null,null,3,6]
输出:false
解释:根节点的值是 5 ,但是右子节点的值是 4 。
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
    long long pre = LLONG_MIN;
public:
    bool isValidBST(TreeNode* root) 
    {
        if(root==nullptr)
        {
            return true;
        }
        if(!isValidBST(root->left)||root->val<=pre)
        {
            return false;
        }
        pre=root->val;
        return isValidBST(root->right);
    }
};

标签:right,TreeNode,验证,nullptr,二叉,搜索,root,节点,left
From: https://blog.csdn.net/2403_85903590/article/details/142446339

相关文章

  • layui - - - 回显是否上架、更新图书按钮、添加顶部搜索(图书管理系统)
    1.回显是否上架是否上架div设置id属性:id="status"。判断是否上架的值,然后拼接单选框按钮字符串,最后把拼接后的字符串设置到id="status"的div中。运行项目,使用Chrome浏览器打开。点击“更新”按钮,更新图书页面回显了“图书分类”和“是否上架”。2.更新图书按钮更......
  • 特征工程与交叉验证在机器学习中的应用
    数据入口:学生考试表现影响因素数据集-Heywhale.com本数据集提供了关于影响学生考试成绩的多种因素的全面概述。数据集包含了有关学习习惯、出勤率、家长参与、资源获取等方面的信息。数据说明字段名说明Hours_Studied每周学习的小时数Attendance出勤率(上课出席的百分比)Par......
  • MySQL 中的全文索引:强大的文本搜索利器
    《MySQL中的全文索引:强大的文本搜索利器》在MySQL数据库中,全文索引是一种非常有用的功能,它可以帮助我们快速地在大量文本数据中进行搜索。那么,什么是MySQL中的全文索引呢?它又是如何工作的呢?让我们一起来深入了解一下。一、什么是全文索引?全文索引是一种特殊类型的索引,它允......
  • 【C++】二叉搜索树的底层以及实现
    个人主页文章目录⭐一、二叉搜索树的概念......
  • 帝国CMS为什么验证码均显示为“ecms”?
    验证码显示为“ecms”的原因通常是由于服务器空间不支持GD图形库(GNUImageManipulationLibrary)。GD库是PHP的一个扩展,用于动态生成图像,如验证码图片。当服务器没有安装或禁用了GD库时,帝国CMS生成验证码的功能就会受到影响,导致验证码显示为默认的文本“ecms”。解决方法方法一:......
  • 帝国CMS认证码和验证码的区别
    认证码和验证码在功能和用途上有着明显的区别:认证码认证码通常是系统安装或配置时设置的一种验证信息,用于内部人员的身份验证。认证码可能指的是:安装时设置的特定信息:在帝国CMS这样的系统中,认证码是在安装过程中初始化管理员账号时设置的,用于后续登录后台管理界面时的额外验......
  • 关于`django-auth-ldap` 和 `ldap3`如何处理与 LDAP 服务器的连接和身份验证的问题
    在使用Django进行ActiveDirectory(AD)身份验证时,django-auth-ldap和ldap3都涉及到与LDAP服务器的交互。一个关键的差异在于如何处理与LDAP服务器的连接和身份验证。具体来说,django-auth-ldap通常使用一个绑定用户(BindDN)来执行搜索和验证操作,而使用ldap3时,你......
  • 短剧搜索带一键转存功能系统源码修复版
    短剧搜索带一键转存功能系统,这是Thinkphp框架的源码,上传宝塔之后设置伪静态为:thinkphpPHP版本7.2然后导入“数据库.sql”修改.env里面的数据库信息修改网站目录为“public”即可后台:/qfadmin账号admin密码123456aa......
  • 短剧搜索带一键转存功能系统源码修复版
    短剧搜索带一键转存功能系统,这是Thinkphp框架的源码,上传宝塔之后设置伪静态为:thinkphpPHP版本7.2然后导入“数据库.sql”修改.env里面的数据库信息修改网站目录为“public”即可后台:/qfadmin账号admin密码123456aa......
  • 短剧搜索带一键转存功能系统源码修复版
    短剧搜索带一键转存功能系统,这是Thinkphp框架的源码,上传宝塔之后设置伪静态为:thinkphpPHP版本7.2然后导入“数据库.sql”修改.env里面的数据库信息修改网站目录为“public”即可后台:/qfadmin账号admin密码123456aa......