当前位置: 首页 > 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;
};

相关文章:

  • 【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服务的架构解析
  • 设备健康管理:给工业设备装上 “智能体检中心”—— 从故障救火到全生命周期守护
  • 佛山网站建设咨询/南宁 百度网盘
  • 行业网站建设费用明细/国内广告投放平台
  • 广州的做淘宝女鞋货源下载数据包的网站网址是多少?/怎样自己做网站
  • 武汉高端网站建设/站长工具流量统计
  • 助孕网站优化推广/电商的运营模式有几种
  • ppt模板下载免费版学生/seo专员是什么