C++——验证二叉搜索树leetcode98

C++——验证二叉搜索树leetcode98

  • 题目描述
  • 思路
  • 代码

题目描述

给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。
有效 二叉搜索树定义如下:
节点的左子树只包含 小于 当前节点的数。
节点的右子树只包含 大于 当前节点的数。
所有左子树和右子树自身必须也是二叉搜索树。

思路

迭代,如果当前节点为空,则true,如果当前节点的值小于等于左边的最大值,或者大于等于右边的最小值,则false,并对左右子树更新左右边界,

代码

bool isValidBST(TreeNode* root)
{return isV(root, LLONG_MIN, LLONG_MAX);
}
bool isV(TreeNode* root, long max_left, long min_right)
{if(!root) return true;if(root->val<=max_left || root->val>=min_right) return false;return isV(root->left, max_left, root->val) && isV(root->right, root->val, min_right);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/50407.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端江湖:从菜鸟到大侠的修炼手册

在这个数字编织的梦幻世界里&#xff0c;前端&#xff0c;这个听起来就带着几分仙气与神秘感的词汇&#xff0c;实则是每一位互联网探险家手中的魔法杖。它不仅连接着代码的冰冷逻辑与用户的炽热情感&#xff0c;更在无数次的点击与滑动间&#xff0c;绘制出一幅幅绚丽多彩的交…

yolov8.1超简单环境搭建、标注、训练、转onnx、转输出维度

1.显卡驱动查看 nvidia-smi 2.yolo源码与模型 https://hub.nuaa.cf/ultralytics/ultralytics https://github.com/ultralytics/ultralytics 3.anaconda https://www.anaconda.com/download或 https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe …

Godot入门 05收集物品

创建新场景&#xff0c;添加Area2D节点&#xff0c;AnimatedSprite2D节点 &#xff0c;CollisionShape2D节点 添加硬币 按F键居中&#xff0c;放大视图。设置动画速度设为10FPS&#xff0c;加载后自动播放&#xff0c;动画循环 碰撞形状设为圆形&#xff0c;修改Area2D节点为Co…

[K8S] K8S资源控制器Controller Manager(4)

文章目录 1. 常见的Pod控制器及含义2. Replication Controller控制器2.1 部署ReplicaSet 3. Deployment3.1部署Deployment3.2 运行Deployment3.3 镜像更新方式3.4 Deployment扩容3.5 滚动更新3.6 金丝雀发布(灰度发布)3.7 Deployment版本回退3.8 Deployment 更新策略 4. Daemon…

Go语言常见序列化协议全面对比

先说结论 从易用性、性能、内存占用、编码后大小等几个方面综合考虑 ProtoBuf 胜出。 Gob 从性能和 I/O 带宽占用上都和 ProtoBuf 差不多&#xff0c;唯一劣势是编解码时内存占用较多。考虑到不用再写 IDL 带来的易用性&#xff0c;如果整个系统内不存在使用除 Go 以外其他语言…

高可用高并发常见问题以及答案

什么是高可用系统?如何评估系统的可用性? 高可用系统是指系统能够以高度的稳定性和可靠性运行,即使在面对硬件或软件故障时也能保持正常运行。可用性通常通过系统的 downtime(不可用时间)来评估,例如通过 SLA(Service Level Agreement)来定义系统在特定时间段内可用的…

人工智能与机器学习原理精解【7】

文章目录 凸优化基础理论加权正规方程线性回归模型加权最小二乘法加权正规方程注意使用Diagonal函数使用diagm函数总结 加权最小二乘法加权最小二乘法的定义加权最小二乘法的算法加权最小二乘法的计算加权最小二乘法的原理一、基本思想二、原理详解三、总结 加权最小二乘法的例…

贸易壁垒的作用及影响

目录 什么是贸易壁垒 关税壁垒和非关税壁垒 贸易壁垒的好处 贸易壁垒的负面影响 什么是贸易壁垒 贸易壁垒又称贸易障碍&#xff0c;一般分关税壁垒和非关税壁垒两类。 所谓关税壁垒&#xff0c;是指进出口商品经过一国关境时&#xff0c;由政府所设置的海关向进出口商征收…

外卖霸王餐系统推荐,哪家的系统比较稳定呢?

以下是一些较为稳定且有一定用户基础的外卖霸王餐系统&#xff0c;你可以根据自身需求进一步考察和选择&#xff1a; - **饭否霸王餐**&#xff1a;有专门的APP&#xff0c;如在应用宝上其开发商为南京有惠鲸选电子商务有限公司。它覆盖了多个城市&#xff0c;提供美团、饿了么…

巴黎奥运启幕 PLM系统助力中国制造闪耀全球

2024巴黎奥运会将于法国当地时间7月26日在塞纳河畔正式开幕。即将亮相巴黎奥运会赛场的除了中国运动员之外&#xff0c;还有一批批中国制造企业为奥运会设计并制造的体育设备也将惊艳亮相&#xff0c;成为赛场上另一道亮丽的风景线。 在新时代的浪潮中&#xff0c;中国制造业坚…

Centos7安装Windows系统默认字体

Centos7安装Windows系统默认字体 拷贝windows系统默认字体&#xff08;建议拷贝所有&#xff09;c:\windows\fonts 查看系统默认字体&#xff1a;fc-list 查看系统安装的中文字体&#xff1a;fc-list :langzh 执行&#xff1a; a) sudo yum install -y fontconfig mkfontsca…

AlibabaCloudAI

快速体验 Spring Cloud Alibaba AI JDK要求最低17 1.SpringAI Spring AI 旨在简化包含人工智能相关功能的应用程序的开发&#xff0c;避免不必要的复杂性。 Spring AI 的核心是提供抽象&#xff0c;作为开发 AI 应用程序的基础。这些抽象有多种实现方式&#xff0c;只需极少…

【进阶】Python使用selenium 访问网页完成登录操作页面异常时——最全重试机制汇总

文章目录 思路一:使用添加异常重试机制 [常用]思路二:使用装饰器实现重试机制 [常用]思路三:使用更复杂的异常处理和恢复机制思路四:结合日志记录与重试思路五:使用递归实现重试机制思路六:结合外部配置文件管理重试参数思路七:使用自定义异常类来处理特定错误思路八:使…

Java小白入门到实战应用教程-运算符详解

Java小白入门到实战应用教程-运算符 上节回顾 在上节的内容中我们了解了变量和基本数据类型的内容&#xff0c;现在回顾一下上节课的内容。 声明变量的语法为&#xff1a; 数据类型 变量名&#xff1b; 其中在java中一共有8中基本数据类型&#xff0c;分别是&#xff1a;b…

三维影像系统PACS源码,图像存储与传输系统,应用于医院中管理医疗设备如CT,MR等产生的医学图像的信息系统

PACS&#xff0c;即图像存储与传输系统&#xff0c;是应用于医院中管理医疗设备如CT&#xff0c;MR等产生的医学图像的信息系统。目标是支持在医院内部所有关于图像的活动&#xff0c;集成了医疗设备&#xff0c;图像存储和分发&#xff0c;数字图像在重要诊断和会诊时的显示&a…

【linux】【设备树】具有 GPIO 控制器和连接器的硬件配置的备树(Device Tree)代码讲解

具有 GPIO 控制器和连接器的硬件配置的备树&#xff08;Device Tree&#xff09;代码讲解 背景 -学习Linux设备树 代码 soc {soc_gpio1: gpio-controller1 {#gpio-cells <2>;};soc_gpio2: gpio-controller2 {#gpio-cells <2>;}; };connector: connector {#gpi…

零侵入零代码零配置全自动接口文档生成可在线调试框架doc-apis它来了!

近期开源了一款全自动零侵入零代码零配置接口文档生成框架doc-apis,实测只要代码符合规范,即可生成多端多语种多格式的接口文档,适合敏捷开发,欢迎大家试用,另外也恳请大家帮忙点一下star,帮助开源项目走得更远,让更多人知道,非常感谢! # 官方地址 | Official website --- **…

OD C卷 - 宽度最小的子矩阵

宽度最小的子矩阵 &#xff08;100&#xff09; 给定一个n行 * m列的矩阵&#xff1b;给定一个k个整数的数组k_list&#xff1b;在n*m的矩阵中找一个宽度最小的子矩阵&#xff0c;该子矩阵包含k_list中所有的整数&#xff1b; 输入描述&#xff1a; 第一行输入n,m 两个整数&am…

Redis的五种数据类型与命令

目录 引言 一 Redis的特性 二 Redis的安装 三 Redis的优点 四 Redis的五种数据类型与命令 五 Redis的配置文件 引言 Redis是什么&#xff1f; Remote Dictionary Service(远程字典服务器) Redis 是一个开源的(BSD许可)的&#xff0c;C语言编写的&#xff0c;高性能的数…

计算机网络实验-RIP配置与分析

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 一、相关知识 路由信息协议&#xff08;Routing Information Protocol&#xff0c;RIP&#xff09;是一种基于距离向量&#xff08;Distance-Vector&…