098 Validate Binary Search Tree 验证二叉搜索树
2024-09-06 19:06:41
给定一个二叉树,判断其是否是一个有效的二叉搜索树。
一个二叉搜索树有如下定义:
左子树只包含小于当前节点的数。
右子树只包含大于当前节点的数。
所有子树自身必须也是二叉搜索树。
示例 1:
2
/ \
1 3
二叉树[2,1,3], 返回 true.
示例 2:
1
/ \
2 3
二叉树 [1,2,3], 返回 false.
详见:https://leetcode.com/problems/validate-binary-search-tree/description/
Java实现:
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public boolean isValidBST(TreeNode root) {
if(root==null){
return true;
}
return isValidBST(root,Long.MIN_VALUE, Long.MAX_VALUE);
}
private boolean isValidBST(TreeNode root,long min,long max){
if(root==null){
return true;
}else if(root.val<=min||root.val>=max){
return false;
}
return isValidBST(root.left,min,root.val)&&isValidBST(root.right,root.val,max);
}
}
参考:https://www.cnblogs.com/grandyang/p/4298435.html
最新文章
- jQuery选择器中,通配符[id^=&#39;code&#39;]input[id$=&#39;code&#39;][id*=&#39;code&#39;]
- JAVA基础知识之JDBC——JDBC数据库连接池
- Sqoop1.4.6配置和使用
- web框架--flask
- Android课程---final关键字
- j2ee log4j集中式日志解决方案logpool v0.3
- JSONProxy - 获取跨域json数据工具
- [C.Sharp] Color 颜色转换
- 30个惊人的插件来扩展 Twitter Bootstrap
- 【Unity3D】自动寻路(Nav Mesh Agent组件)
- 动态规划(计数DP):HDU 5136 Yue Fei&#39;s Battle
- 7.编写Java应用程序。首先,定义一个Print类,它有一个方法void output(int x),如果x的值是1,在控制台打印出大写的英文字母表;如果x的值是2,在 控制台打印出小写的英文字母表。其次,再定义一个主类——TestClass,在主类 的main方法中创建Print类的对象,使用这个对象调用方法output ()来打印出大 小写英文字母表。
- [git] 细说commit (git add/commit/diff/rm/reset 以及 index 的概念)
- 关于MySQL latch争用深入分析与判断
- C#零基础入门-0-开发工具
- java环境配置记录
- WinForm控件开发总结目录
- 将list集合转json
- 自学Zabbix14.1 二次开发API
- spring boot: ConfigurationProperties