新闻详情

新闻详情

首页 / 资讯中心 / 详情

力扣 LeetCode 98. 验证二叉搜索树(Day9:二叉树)

发布时间:2026/9/13 10:36:04来源:尧图网络
力扣 LeetCode 98. 验证二叉搜索树(Day9:二叉树)
解题思路方法一改良版方法二class Solution { ListInteger list new ArrayList(); public boolean isValidBST(TreeNode root) { recur(root); for (int i 1; i list.size(); i) { if (list.get(i - 1) list.get(i)) return false; } return true; } public void recur(TreeNode root) { if (root null) return; recur(root.left); list.add(root.val); recur(root.right); } }方法二直接中序遍历放入数组非常直观的想法需要注意用for循环进行重复值的判断二叉搜索树不能有值相等的节点class Solution { ListInteger list new ArrayList(); public boolean isValidBST(TreeNode root) { recur(root); ListInteger res new ArrayList(list); Collections.sort(list); for (int i 1; i list.size(); i) { if (list.get(i - 1).equals(list.get(i))) return false; } if (list.equals(res)) return true; return false; } public void recur(TreeNode root) { if (root null) return; recur(root.left); list.add(root.val); recur(root.right); } }方法三引入额外的一个变量进行比较class Solution { long pre Long.MIN_VALUE; public boolean isValidBST(TreeNode root) { if (root null) return true; boolean isLeft isValidBST(root.left); if (pre root.val) pre root.val; else return false; boolean isRight isValidBST(root.right); return isLeft isRight; } }方法三与前一个节点进行比较个人觉得比方法二更好理解class Solution { TreeNode pre null; public boolean isValidBST(TreeNode root) { if (root null) return true; boolean isLeft isValidBST(root.left); if (pre ! null pre.val root.val) return false; pre root; boolean isRight isValidBST(root.right); return isLeft isRight; } }
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

电力系统概率潮流计算:半不变量法与Matlab实现 2026/9/13 11:12:07

电力系统概率潮流计算:半不变量法与Matlab实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
SmartMediaKit与YOLO集成:实时视频AI推理的工程化实践 2026/9/13 11:12:07

SmartMediaKit与YOLO集成:实时视频AI推理的工程化实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Firecrawl+anydoc:中文办公文档智能转Markdown实战指南 2026/9/13 11:12:07

Firecrawl+anydoc:中文办公文档智能转Markdown实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Node.js安装指南:从入门到多版本管理 2026/9/13 11:12:07

Node.js安装指南:从入门到多版本管理

1. Node.js安装前的准备工作在开始安装Node.js之前,我们需要先了解几个关键概念。Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,它让开发者能够在服务器端运行JavaScript代码。与浏览器中的JavaScript不同,Node.js提供了访问文件系…

阅读更多 →
贪婪算法在OFDM资源分配中的Matlab实现与调参 2026/9/13 11:12:07

贪婪算法在OFDM资源分配中的Matlab实现与调参

简介:面向OFDM系统的资源分配优化场景,这里提供一套基于贪婪算法的Matlab实现与说明文件。资源定位于无线通信方向的学生与算法研究者,适合已经掌握OFDM基础、希望借助实际代码理解贪婪算法在子载波分配和功率控制中局部最优决策策略的读者。…

阅读更多 →
无人艇编队控制:GVF方法与抗扰技术实践 2026/9/13 11:09:06

无人艇编队控制:GVF方法与抗扰技术实践

1. 无人艇编队控制的核心挑战与解决方案在海洋监测、水域巡逻等实际应用中,多无人艇(USV)协同作业往往面临三大技术难题:首先是欠驱动特性导致的控制自由度不足问题,常规USV通常只有推进器和方向舵两个控制输入,却需要同时控制位置…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞