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

力扣-98.验证二叉搜索树

题目描述

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

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

  • 节点的左子树只包含 小于 当前节点的数。
  • 节点的右子树只包含 大于 当前节点的数。
  • 所有左子树和右子树自身必须也是二叉搜索树。
class Solution {
public:long long min = LONG_LONG_MIN;//测试数据中有INT_MINbool isValidBST(TreeNode *root) {if (!root)return true;bool left = isValidBST(root->left);if (root->val > min) {min = root->val;} else {return false;}bool right = isValidBST(root->right);return left && right;}
};

小结:这道题的坑就在于左子树是二叉搜索树+右子树是二叉搜索树+左子树根结点<根结点<右子树根结点,此时整棵树依然不能确定是否为二叉搜索树。我们来看这样一个例子:[5,4,6,null,null,3,7] 这里3 < 5就不满足条件。解决方法是利用中序遍历+一个变量记录遍历到的值,如果不满足直接返回false,因为二叉搜索树的中序遍历是递增的序列。

http://www.xdnf.cn/news/6391.html

相关文章:

  • C# winform 日志 NLog
  • 【vue】脚手架
  • 瀑布模型VS敏捷模型VS喷泉模型
  • 【Linux】多路转接epoll、Linux高并发I/O多路复用
  • SpringAI
  • 印度尼西亚数据源对接技术指南
  • YOLOv11融合[CVPR2025]OverLock中的模块
  • 合并有重叠的时间区间的极简方法
  • 【证书与信任机制​】​​SSL证书类型全解析:DV、OV、EV的区别与应用场景
  • 【C#基础】集合.Any() 与 判断集合的长度有啥区别?
  • atoi函数,sprintf函数,memcmp函数,strchar函数的具体原型,功能,返回值;以及使用方法
  • 现代计算机图形学Games101入门笔记(六)
  • 19、云端工业物联网生态组件 - 工厂能效与预测维护 - /数据与物联网组件/cloud-iiot-factory-analysis
  • 紫外波段太阳光模拟器介绍
  • Python Matplotlib 库【绘图基础库】全面解析
  • 在UI 原型设计中,交互规则有哪些核心要素?
  • 数据统计分析及可视化
  • 开源 Web Shell 工具
  • 万文c++继承
  • 前端表格滑动滚动条太费事,做个浮动滑动插件
  • Java基于SpringBoot的外卖系统小程序【附源码、文档说明】
  • 功能连接计算的科学选择:静息态fMRI中20种指标的全面评估
  • 卓力达红外热成像靶标:革新军事训练与航空检测的关键技术
  • FastAPI系列16:从API文档到TypeScript 前端客户端(SDKs)
  • 3天重庆和成都旅游规划
  • 【PmHub后端篇】PmHub集成 Sentinel+OpenFeign实现网关流量控制与服务降级
  • acwing 4275. Dijkstra序列
  • 二叉树复习(C语言版)
  • 国标GB28181视频平台EasyGBS打造交通道路/停车场/公共场所违章视频监控解决方案
  • keil编译时报错:error:Could not open file .\***\core_cm3.o(最有用的方法没有之一!!!)