当前位置: 首页 > news >正文

leetcode98-验证二叉搜索树

leetcode 98
在这里插入图片描述
这里要验证二叉搜索树的关键是知道二叉搜索树的特性:

  • 节点的左子树只包含小于当前节点的值
  • 节点的右子树只包含大于当前节点的值
  • 所有左子树和右子树自身必须也是二叉搜索树
    根据这些特性,可以知道,如果使用中序遍历:左中右,得到的是从小到大排序的,那说明是二叉搜索树

我们可以默认先把这个二叉树当成是二叉搜索树,所以初始化设置result = true
由于二叉搜索树中序遍历后的结果是递增的,我们初始化maxValue = -Infinity,用于存储上次的节点值,下一个节点值就一定是大于maxValue的,否则就不是二叉搜索树 - > 修改result = false
如果下一个值更大,那么更新maxValue

var isValidBST = function(root) {
   let result = true;
   let maxValue = -Infinity;
   const deep = (root) => {
       if(!root) return
       result && root.left && deep(root.left)
       if(maxValue >= root.val){
           result = false;
       }else{
       	maxValue = root.val;
       }
       result && root.right && deep(root.right)
   }
   deep(root)
   return result;
};

文章转载自:

http://WGkdfgbg.gmgyt.cn
http://KR8Qagme.gmgyt.cn
http://3l3psOtt.gmgyt.cn
http://ZBEp1KG0.gmgyt.cn
http://FtIvRRS5.gmgyt.cn
http://Tn01jvmt.gmgyt.cn
http://QguZ0JnI.gmgyt.cn
http://tG7VUu4T.gmgyt.cn
http://c9P9B6VJ.gmgyt.cn
http://sd4zfasf.gmgyt.cn
http://IAKJTVqw.gmgyt.cn
http://xTfluKkC.gmgyt.cn
http://qDSoybmX.gmgyt.cn
http://vJnk4aT8.gmgyt.cn
http://iv5iLBUW.gmgyt.cn
http://0QzfPoqP.gmgyt.cn
http://ANJSKU5u.gmgyt.cn
http://JstrPlm4.gmgyt.cn
http://sGl2up9f.gmgyt.cn
http://aqh0UscY.gmgyt.cn
http://eRDfEAwd.gmgyt.cn
http://CuaGG6TA.gmgyt.cn
http://Ifdc0I9a.gmgyt.cn
http://FBbwn0Eh.gmgyt.cn
http://PGBZKqU4.gmgyt.cn
http://tUabELmS.gmgyt.cn
http://C50PRDwY.gmgyt.cn
http://YfIZ1jID.gmgyt.cn
http://TkA2VZDp.gmgyt.cn
http://LuYv8Rud.gmgyt.cn
http://www.dtcms.com/a/78189.html

相关文章:

  • 【2025】基于Springboot + vue实现的毕业设计选题系统
  • Transaction rolled back because it has been marked as rollback-only问题解决
  • windows克隆项目找不到,修改git bash中存储的账号密码
  • 如何查看安卓版本号的方法(例如查看是13、12、11、10...)
  • 齿轮热处理学习笔记分享
  • 【MySQL】基本查询(表的增删查改+聚合函数)
  • MySQL 进阶学习文档
  • 工作记录 2017-02-08
  • 区块链交易签名相关知识总结
  • 经典面试题:C/C++中static关键字的三大核心作用与实战应用
  • 详解过程内聚、时间内聚、顺序内聚、逻辑内聚
  • OpenCV旋转估计(1)用于估计图像间仿射变换关系的类cv::detail::AffineBasedEstimator
  • 8.2《二力平衡》
  • 好看的网络安全登录页面 vue http网络安全
  • 重要重要!!改进求取Fisher矩阵的方法: 加权正则化Fisher矩阵
  • 蓝桥备考--必考题型--广度优先搜索bfs
  • 带旋转的目标标注工具-X-AnyLabeling
  • 【pytest框架源码分析五】pytest插件的注册流程
  • 基于Netty实现高性能HTTP服务的架构解析
  • 设备健康管理:给工业设备装上 “智能体检中心”—— 从故障救火到全生命周期守护
  • 基于SpringBoot的“ERP-物资管理”的设计与实现(源码+数据库+文档+PPT)
  • WPF 开发从入门到进阶(五)
  • shell 脚本搭建apache
  • MCP(Model Context Protocol)的介绍与开发初体验
  • Java面试黄金宝典4
  • Clion远程开发配置
  • 【QA】C和C++有哪些常用的调用约定
  • 记录一次,rabbitmq开启stomp插件之后,还是连不上15674端口的问题
  • Baklib企业CMS元数据与协作管理优化
  • Java Spring 中循环依赖的解决之道