news 2026/7/23 16:08:41

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/23 14:27:29

Java基于springboot+vue的毕业生离校管理系统的设计与实现

前言 毕业生离校管理系统是一款专为教育机构设计的软件工具&#xff0c;目的是简化和自动化毕业生在完成学业后离开学校前所需完成的多项手续。通过使用毕业生离校管理系统&#xff0c;学校管理人员可以高效地跟踪每位毕业生的离校状态&#xff0c;确保所有必要的步骤都得到妥善…

作者头像 李华
网站建设 2026/7/22 2:57:26

OpenMV中HOG特征提取全面讲解

在OpenMV上玩转HOG特征&#xff1a;从原理到实战的完整指南你有没有遇到过这样的场景&#xff1f;想在一块小小的MCU上做物体识别&#xff0c;却发现模型太大跑不动、训练数据不够、功耗又高得离谱。这时候&#xff0c;与其硬上深度学习&#xff0c;不如回头看看那些“老派但靠…

作者头像 李华
网站建设 2026/7/22 11:35:42

8个AI论文生成平台测评,降重与写作功能深度解析

在众多AI论文工具中&#xff0c;选择一款适合自己需求的平台可能令人眼花缭乱。本文将对比8款热门工具&#xff0c;重点聚焦降重、降AIGC率、写论文等功能。工具排名基于实测数据和用户反馈&#xff0c;确保客观实用性。以下是简要排行表&#xff08;基于效率、准确性和易用性&…

作者头像 李华
网站建设 2026/7/23 21:22:14

8个AI论文改写工具评测,降重与写作功能全面分析

在众多AI论文工具中&#xff0c;选择一款适合自己需求的平台可能令人眼花缭乱。本文将对比8款热门工具&#xff0c;重点聚焦降重、降AIGC率、写论文等功能。工具排名基于实测数据和用户反馈&#xff0c;确保客观实用性。以下是简要排行表&#xff08;基于效率、准确性和易用性&…

作者头像 李华