news 2026/7/7 19:42:36

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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);}};
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 11:53:23

Java计算机毕设之基于springboot的旧物回收商城系统的设计与实现基于Springboot的旧物置换网站实现(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/7/7 1:28:12

竞赛毕业设计作品---【芳心科技】F. 阿里云智能温室监测系统

实物效果图&#xff1a;实现功能&#xff1a;温湿度&#xff08;DHT11&#xff09;。湿度低于阈值自动浇水&#xff0c; 到达阈值停止浇水。温度高于阈值打开排风扇&#xff0c;降到正常阈值区间停止工作 &#xff0c; 温度低于阈值蜂鸣器报警。土壤ph值检测 &#xff1a;数值异…

作者头像 李华
网站建设 2026/7/6 22:52:56

Python中的数据结构(容器)之列表(list)

Python中的数据结构&#xff08;容器&#xff09;之列表&#xff08;list&#xff09; 容器用于存储多个数据&#xff0c;是基础语法的核心组成&#xff0c;常用的有 4 种&#xff1a; 列表&#xff08;list&#xff09;—— 有序、可变、可重复字典&#xff08;dict&#xff0…

作者头像 李华
网站建设 2026/7/7 0:31:27

NetActuate扩建丹佛数据中心提升混合云与灾备能力

来源&#xff1a;维度网-全球简讯 全球基础设施与网络服务提供商NetActuate宣布&#xff0c;已完成对其位于美国丹佛的数据中心的重要升级。此次扩建显著增加了该中心的网络、云计算与算力资源容量&#xff0c;目的是满足市场对混合云与灾备需求的持续增长。 NetActuate表示&a…

作者头像 李华
网站建设 2026/7/7 6:08:35

ModbusRTU报文结构完整指南(主从模式)

深入理解ModbusRTU&#xff1a;从报文结构到主从通信实战 在工业现场&#xff0c;你是否曾遇到过这样的场景&#xff1f; 一台PLC迟迟收不到电表的数据&#xff0c;HMI界面上电压值一直显示为0&#xff1b; 或是变频器的启停指令发出去后毫无反应&#xff0c;排查半天才发现…

作者头像 李华