当前位置:网站首页>【力扣】98. 验证二叉搜索树
【力扣】98. 验证二叉搜索树
2022-08-09 14:58:00 【漆黑丶】
题目:
给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。
有效 二叉搜索树定义如下:
节点的左子树只包含 小于 当前节点的数。
节点的右子树只包含 大于 当前节点的数。
所有左子树和右子树自身必须也是二叉搜索树。
示例 1:
输入:root = [2,1,3]
输出:true
示例 2:
输入:root = [5,1,4,null,null,3,6]
输出:false
解释:根节点的值是 5 ,但是右子节点的值是 4 。
提示:
树中节点数目范围在[1, 104] 内
-231 <= Node.val <= 231 - 1
答案:
/** * 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 {
//先找到最左边的值跟根节点判断,然后根节点跟右边的值判断。
double last = -Double.MAX_VALUE;
public boolean isValidBST(TreeNode root) {
if(root == null) return true;
if(isValidBST(root.left)){
if(last < root.val){
last = root.val;
return isValidBST(root.right);
}
}
return false;
}
}
边栏推荐
猜你喜欢
随机推荐
hugging face tutorial - Chinese translation - share a model
【深度学习】attention机制
深入浅出最优化(2) 步长的计算方法
【剑指 Offer II 091. 粉刷房子】
【研究生工作周报】(第十二周)
[Deep learning] attention mechanism
【Postgraduate Work Weekly】(Week 12)
流体拓扑优化问题
深度神经网络中的多任务学习研究综述
链表翻转 全翻转 部分翻转
Virtualbox 设置共享文件夹
深入浅出最优化(3) 最速下降法与牛顿法
pyspark explode时增加序号
理解泛型之得到泛型类型
【Leetcode】433. 最小基因变化
深入浅出最优化(7) 罚函数法
【深度学习】介绍六大类损失函数(九)
Postgraduate Work Weekly (Week 13)
Retrofit2 初印象?
桥接模式下虚拟机连接不上网络的解决方法(WIFI)