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

http://www.dtcms.com/a/169259.html

相关文章:

  • 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)
  • 上位机知识篇---粗细颗粒度
  • 【前端知识】Vue3状态组件Pinia详细介绍
  • MySQL:联合查询
  • 文章四《深度学习核心概念与框架入门》
  • 虚拟环境配置——Windows11 环境在VMware中部署 OpenStack
  • 一、Shell 脚本基础
  • 藏文文本自动分词工具学习实践
  • 免费抠图--在线网站、无需下载安装
  • DeepSeek实战--各版本对比
  • 在网鱼网吧测试文件试验成功