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

LC.98 | 验证二叉搜索树 | 树 | 中序遍历单调性

输入:二叉树根节点root

要求:判断该树是否为有效二叉搜索树(BST)。

  • 任意节点:左子树所有值严格小于它,右子树所有值严格大于它。
  • 左右子树本身也必须是 BST。

输出:true / false


思路:

BST 的核心性质可以用一句话“降维”成数组问题:

BST 的中序遍历结果必须是严格递增序列。

所以我们做一次中序遍历(左-根-右),并维护一个变量prev表示“上一个访问到的节点值”。

遍历到当前节点时:

  • node->val <= prev,说明出现了非递增(重复或逆序),直接判false
  • 否则更新prev = node->val,继续遍历右子树。

细节:

  • prevlong long,初始化成LLONG_MIN,避免节点值可能等于INT_MIN时出错。

复杂度:

  • 时间复杂度:O(N)
  • 空间复杂度:O(H)(递归栈深度,H 为树高)

classSolution{public:boolisValidBST(TreeNode*root){longlongprev=LLONG_MIN;returninorderCheck(root,prev);}private:boolinorderCheck(TreeNode*node,longlong&prev){if(!node)returntrue;if(!inorderCheck(node->left,prev))returnfalse;if((longlong)node->val<=prev)returnfalse;prev=node->val;returninorderCheck(node->right,prev);}};
http://www.cnnetsun.cn/news/191566.html

相关文章:

  • 【国产 OS 顶流实战】KylinOS V10 等保 2.0 三级合规 + MES 系统国产化迁移全案
  • Java基于springboot+vue的毕业生离校管理系统的设计与实现
  • 【毕业设计】基于springboot的旧物回收商城系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • OpenMV中HOG特征提取全面讲解
  • 8个AI论文生成平台测评,降重与写作功能深度解析
  • 8个AI论文改写工具评测,降重与写作功能全面分析
  • Elasticsearch基本用法项目应用:分页与高亮处理
  • 基于proteus的4位数码管动态扫描实战案例
  • 全面讲解ESP32开发核心外设:GPIO控制基础教学
  • PaperzzAI PPT:别再熬夜做PPT了,让AI给你“一键生成高光时刻”——不是模板搬运工,是你的视觉导演+内容编剧
  • 图解说明Vitis使用教程:适合初学者的界面功能解析
  • 具身智能重构体验!CES Asia 2026:消费电子从“工具”变身“主动伙伴”
  • STM32-时钟树编程
  • Packet Tracer使用教程:OSPF基础配置图解说明
  • 批量部署USB转串口驱动的企业级Windows策略应用
  • 赋能成长型企业:SAP Business One与奥维奥的数字化共赢之道
  • 一文说清同步整流buck电路图及其工作原理
  • Packet Tracer下载步骤详解:适合初学者的系统学习
  • 2025年AI论文写作平台精选,集成LaTeX支持与智能格式检查
  • Hotkey Detective终极指南:3步解决Windows热键冲突难题
  • 【Mol Plant综述精读】植物中的染色质重塑:复合物组成、机制多样性及生物学功能
  • 基于GA-HIDMSPSO算法优化BP神经网络+NSGAII多目标优化算法工艺参数优化、工程设计优化(四目标优化案例)
  • 系统学习erase前必须知道的存储基础知识
  • 通俗解释定制ROM在2025机顶盒刷机中的作用机制
  • 【数据分析】基于逆向方法的新型神经网络的实现,以估计云杉音木薄板的材料特性附Matlab代码
  • 微信小程序二维码生成实战指南:3步实现个性化营销码
  • 终极指南:如何使用Keyboard Chatter Blocker解决机械键盘连击问题
  • Performance-Fish性能优化指南:让《环世界》告别卡顿的5大秘诀
  • GKD订阅管理难题:如何用简单方法解决复杂问题
  • Windows热键失灵怎么办?这款侦探工具帮你快速定位问题