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

Hot100-验证二叉搜索树

错误代码:

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */ class Solution { public boolean isValidBST(TreeNode root) { //开始就保障他的左右集合以及 if(root==null) return true; TreeNode r=null;TreeNode l=null; if(root.right!=null) r=root.right; if(root.left!=null) l=root.left; if(l!=null&&l.val>=root.val||r!=null&&r.val<=root.val) return false; else{ isValidBST(l); isValidBST(r); } return true; } }

误区:

1.你只考虑了在单一树中存在数父子兄弟错误

2.代码if shit 比较过于复杂,都什么跟什么

3.完全忽视数据范围

树中节点数目范围在[1, 104] 内

-231 <= Node.val <= 231 - 1(31是指数)

正确解法:

class Solution { public boolean isValidBST(TreeNode root) { return isValidBST(root, Long.MIN_VALUE, Long.MAX_VALUE); } //根据条件,设置区间Long.MIN_VALUE, Long.MAX_VALUE public boolean isValidBST(TreeNode node, long lower, long upper) { if (node == null) { return true;//为null,如果是头节点:也是符合的,不是头节点:不符合 } if (node.val <= lower || node.val >= upper) { return false; } return isValidBST(node.left, lower, node.val) && isValidBST(node.right, node.val, upper); //我们要检查值是否满足,左儿子,上限为父值;右儿子,下限为父值; 那么,如何检查孙子中存在的过小/过大问题 } }

最妙的的点:

如何检查孙子中存在的过小/过大问题

传递子孙上下限,左孙不能大于爷爷,右孙不能小于爷爷,相邻三代为一个传递系统,将规矩延续下去,爸爸当爷爷,孙子当爸爸,代代相传

暂时无法在飞书文档外展示此内容

数值

下限

上限

Boolean

5

Long.MIN_VALUE

Long.MAX_VALUE

T

4

Long.MIN_VALUE

5

T

6

5

Long.MAX_VALUE

T

10

4

5

F

3

5

6

http://www.jsqmd.com/news/511904/

相关文章:

  • 2026年贵阳地区国际认可的西点学校推荐,教学特色解读 - 工业设备
  • 2026年中国人力资源管理咨询公司推荐:长期陪伴式咨询与实效落地热门机构解析 - 十大品牌推荐
  • 2026年广州讯灵AI服务哪家好,深聊南方网通讯灵AI优势 - 工业品网
  • 7-Zip解压软件下载安装全流程教程(2026最新) - xiema
  • 2026杭州有实力的企业注册公司品牌推荐,为您提供优质服务 - 工业品网
  • 【2026最新】MySQL数据库安装教程:从下载到配置完整指南 - xiema
  • Qwen3-4B模型实战:构建内网穿透可访问的私有AI知识库
  • AN/TPY-2相控阵雷达技术解析:X波段DBF与系统工程实践
  • 【2026推荐】Geek Uninstaller下载全攻略:专业卸载工具(附安装包) - xiema
  • 2026年中国人力资源管理咨询公司推荐:企业战略转型期组织效能提升靠谱伙伴盘点 - 十大品牌推荐
  • 2026年上海离婚律师推荐:涉外婚姻与财产分割靠谱选择及用户口碑真实评价 - 品牌推荐
  • fcitx5 + Rime适配Niri(Wayland)配置过程 - alu
  • 精准测试基石:无人机动力系统测试台校准的必要性与实操方法
  • python基于Hadoop云存储 网盘文件管理系统设计与实现
  • 看看2026年黄石靠谱的西点学校,高级西点师资格证费用详情 - myqiye
  • 科普漫画:服务器“过劳死”:为什么你的设备总比别人的先坏?
  • 2026年隐私安全充电宝推荐:酒店住宿防偷拍高性价比型号及用户口碑分析 - 十大品牌推荐
  • 智能婴儿床的多模态感知与闭环控制设计
  • 2026年隐私安全充电宝品牌推荐:差旅住宿防偷拍高性价比型号与选购避坑指南 - 十大品牌推荐
  • Unity URP实战:5分钟搞定角色遮挡高亮效果(附完整Shader代码)
  • 人力资源系统革新,企业发展的新动力
  • 天津好用的芝麻灰道牙石加工厂推荐 - mypinpai
  • Python爬虫获取训练数据:为定制化伏羲模型收集历史气象资料
  • 【OpenClaw 全面解析:从零到精通】第 018 篇:OpenClaw 多智能体协作系统——多 Agent 路由、任务委托与负载均衡
  • 2025-2026年中国人力资源管理咨询公司推荐:成长型企业薪酬绩效体系搭建优选服务对比 - 十大品牌推荐
  • 中国企业如何选择人力资源管理咨询?2026年靠谱推荐聚焦组织发展与实战落地 - 十大品牌推荐
  • 最近在折腾UDEC模拟岩石单轴压缩试验,发现要画出完整的应力应变曲线还真得注意几个关键操作。直接上干货,分享个实测可用的案例代码,顺便聊聊实现细节
  • ES6:初学1
  • 2026年中国人力资源管理咨询公司推荐:制造业人力成本优化与人才发展口碑服务商分析 - 十大品牌推荐
  • 技术管理者,什么是 high level 的事情