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

二叉搜索树的判断(双指针解决)

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

class Solution {
public:TreeNode*pre=NULL;bool isValidBST(TreeNode* root) {if(root==NULL){return true;}bool left=isValidBST(root->left);if(pre!=NULL&&pre->val>=root->val){return false;}pre=root;bool right=isValidBST(root->right);return left&&right;}
};

根据二叉搜索树的定义,左子树的所有值小于根节点的值,右子树的所有值大于根节点,采用中序遍历的方式,判断左子树的值是否小于根节点,如果小于根节点则返回true,大于则返回false。

要想要比较两个值的大小,应想到应用双指针的解法,采用中序遍历的方式,定义布尔值储存左子树的情况,将每一次的pre的值定义为前一次遍历到的节点,在左子树遍历结束,开始进行判断,如果前一次遍历到的左节点大于等于根节点的值,则返回false。最后如果左右子树都返回true,结果才为true。

相关文章:

  • redis持久化-RDB
  • 提示词版本化管理:AI开发中被忽视的关键环节
  • 数字智慧方案6197丨智慧用电一体化服务运营解决方案(34页PPT)(文末有下载方式)
  • Linux 常用命令合集
  • 我的日记杂文
  • 截图软件、画图软件、左右分屏插件、快捷键
  • 【大模型面试每日一题】Day 6:分布式训练中 loss 出现 NaN,可能原因及排查方法?
  • 实战交易策略 篇二十二:情绪流龙头交易策略
  • 学习笔记:Qlib 量化投资平台框架 — OTHER COMPONENTS/FEATURES/TOPICS
  • 仿腾讯会议——主界面设计创建房间加入房间客户端实现
  • Linux管道识
  • Qt 中基于 QTableView + QSqlTableModel 的分页搜索与数据管理实现
  • 双向链表详解
  • 日语学习-日语知识点小记-构建基础-JLPT-N4阶段(14):かもしれません (~た・~ない)ほうがいいです
  • 兰亭妙微分享:B 端设计如何实现体验跃迁
  • 依赖倒置原则(DIP)
  • DeepSeek-R1模型蒸馏
  • Demo02_基于寄存器+标准库开发的项目
  • vulkanscenegraph显示倾斜模型(6.2)-记录与提交
  • LLMs Tokenizer Byte-Pair Encoding(BPE)
  • 山东一景区怕游客赶不到海撒三千斤蛤蜊:给游客提供情绪价值
  • 5月人文社科中文原创好书榜|巫蛊:中国文化的历史暗流
  • 浪尖计划再出发:万亿之城2030课题组赴九城调研万亿产业
  • 中方拟解除对5名欧洲议会议员制裁?外交部:望中欧立法机构相向而行
  • 朝鲜海军新型驱逐舰进行首次武器系统测试
  • 特朗普加征关税冲击波:美国零售、汽车、航空、科技企业纷纷预警业绩波动