news 2026/4/3 1:51:42

【 每天学习一点算法 2025/12/17】验证二叉搜索树

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【 每天学习一点算法 2025/12/17】验证二叉搜索树

每天学习一点算法 2025/12/17

验证二叉搜索树

给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。

有效 二叉搜索树定义如下:

节点的左子树只包含 小于 当前节点的数。

节点的右子树只包含 大于 当前节点的数。

所有左子树和右子树自身必须也是二叉搜索树。

  1. 根据题目描述可以知道二叉搜索树,使用中序遍历的结果数组一定是升序,也就是每一次遍历的节点值都比之前的大,我们只需要在遍历过程比较一下当前节点值是否符合要求即可。

    functionisValidBST(root:TreeNode|null):boolean{constresult:number[]=[]// 用于存储遍历值// 为了避免result全局污染添加一个辅助函数functionvalidate(node:TreeNode|null):boolean{if(node===null)returntrue;// 初始默认为有效搜索二叉树// 提前中断已经无效的情况if(!validate(node.left)){returnfalse}// 判断当前节点是否符合二叉搜索树特征if(result.filter(item=>item>=node.val).length>0)returnfalseresult.push(node.val)// 提前中断已经无效的情况if(!validate(node.right)){returnfalse}returntrue}// 调用辅助函数returnvalidate(root);};
  2. 之前的二叉树相关的题我们也提到了递归的每次一层的root其实就是当前子树的根节点,我们只需要在每一层的遍历中判断当前节点的值和子节点的大小关系即可知道这是否是有效的二叉搜索树。

    functionisValidBST(root:TreeNode|null):boolean{// 辅助函数,增加上下界参数functionvalidate(node:TreeNode|null,lower:number,upper:number):boolean{if(node===null)returntrue;// 终止时无超出上下界的结果为有效// 检查当前节点值是否超出上下界if(node.val<=lower||node.val>=upper){returnfalse;}// 递归检查左子树和右子树returnvalidate(node.left,lower,node.val)&&validate(node.right,node.val,upper);}// 调用辅助函数,初始上下界为负无穷到正无穷returnvalidate(root,-Infinity,Infinity);};

题目来源:力扣(LeetCode)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/27 14:45:31

AI编程:MCP推荐与搜索技巧

MCP服务器&#xff0c;就是让模型能获取甚至操纵外部信息&#xff0c;降低幻觉、提升能力。 作为一名独立开发者&#xff0c;从小红书、B站等平台看了许多别人的推荐&#xff0c;却始终不能满意&#xff1a; 功能滞后&#xff1a;MCP的演进十分迅速&#xff0c;当“高位替代”…

作者头像 李华
网站建设 2026/3/29 6:20:51

vue基于Spring Boot框架实现前后端分离商城购物管理系统 优惠卷_pe085991_

目录 已开发项目效果实现截图开发技术介绍系统开发工具&#xff1a; 核心代码参考示例1.建立用户稀疏矩阵&#xff0c;用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式…

作者头像 李华
网站建设 2026/4/1 1:30:54

vue基于Spring Boot框架框架的农产品销售商城系统的优惠卷8b6s0p26_

目录 已开发项目效果实现截图开发技术介绍系统开发工具&#xff1a; 核心代码参考示例1.建立用户稀疏矩阵&#xff0c;用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式…

作者头像 李华
网站建设 2026/4/1 12:56:51

vue基于Spring Boot框架的反诈科普交流互动平台的设计与实现_1r9yg26d

目录已开发项目效果实现截图开发技术介绍系统开发工具&#xff1a;核心代码参考示例1.建立用户稀疏矩阵&#xff0c;用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&…

作者头像 李华
网站建设 2026/3/30 1:16:14

解锁百度网盘秒传神器:告别龟速下载的时代已经来临

还在为百度网盘下载速度烦恼吗&#xff1f;想要快速保存别人分享的文件却不知从何下手&#xff1f;今天&#xff0c;我将带你走进百度网盘秒传技术的奇妙世界&#xff0c;掌握这项让文件转存变得轻而易举的神奇技能&#xff01; 【免费下载链接】baidupan-rapidupload 百度网盘…

作者头像 李华
网站建设 2026/3/31 6:36:58

基于大数据的家居家私数据可视化分析系统的设计与实现

家居家私数据可视化分析系统的课题背景 当前&#xff0c;全球家居家私行业正经历数字化转型浪潮&#xff0c;消费者需求日益个性化&#xff0c;市场竞争加剧&#xff0c;企业亟需通过数据驱动决策提升运营效率。传统的数据处理方式受限于数据规模和分析能力&#xff0c;难以应对…

作者头像 李华