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

力扣-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,因为二叉搜索树的中序遍历是递增的序列。

相关文章:

  • OA 系统办公自动化包含哪些内容,关键功能模块与操作要点说明
  • CodeBuddy 接入 MCP,一键生成网站!
  • 操作系统期末复习笔记
  • HCIP-Datacom Core Technology V1.0_1认识网络设备
  • 计算机网络:移动通信蜂窝网络指的是什么?
  • AI编程:使用Trae + Claude生成原型图,提示词分享
  • 集星云推碰一碰源码搭建的核心模块
  • 2005-2022年各省绿色信贷水平测算数据(含原始数据+计算过程+计算结果)
  • 【CSS】使用 CSS 绘制三角形
  • 【Alist+RaiDrive挂载网盘到本地磁盘】
  • 673SJBH基于ASP的公交系统
  • 电脑内存智能监控清理,优化性能的实用软件
  • UPS是什么?UPS 不间断电源有哪些适配的升压芯片?
  • ET ProcessInnerSender类(实体) 分析
  • 场景以及八股复习篇
  • 图像采集卡的核心功能功与应用详解
  • MQ防重复消费----去重表结合 Spring AOP 切面编程,抽象封装成通用幂等注解
  • Maplibgre-gl 学习1 初识
  • Maven构建流程详解:如何正确管理微服务间的依赖关系-当依赖的模块更新后,我应该如何重新构建主项目
  • ET MessageSender类(实体)分析
  • 美国务院批准向土耳其出售导弹及相关部件,价值3.04亿美元
  • 特朗普访问卡塔尔,两国签署多项合作协议
  • 马上评|“衣服越来越难买”,对市场是一个提醒
  • 上海市国防动员办公室副主任吴斌接受审查调查
  • 紫光集团原董事长赵伟国一审被判死缓
  • 美国“贸易战”前线的本土受害者:安静的洛杉矶港和准备关门的小公司