验证二叉搜索树
搜索 验证 二叉
2023-09-14 09:05:03 时间
验证二叉搜索树
给你一个二叉树的根节点 root
,判断其是否是一个有效的二叉搜索树。
有效 二叉搜索树定义如下:
- 节点的左子树只包含 小于 当前节点的数。
- 节点的右子树只包含 大于 当前节点的数。
- 所有左子树和右子树自身必须也是二叉搜索树。
示例 1:
输入:root = [2,1,3] 输出:true
示例 2:
输入:root = [5,1,4,null,null,3,6] 输出:false 解释:根节点的值是 5 ,但是右子节点的值是 4 。
提示:
- 树中节点数目范围在
[1, 10^4]
内 -2^31 <= Node.val <= 2^31 - 1
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;
if (root.left == null && root.right == null) {
return true;
}
if (root.left != null) {
TreeNode cur = root.left;
while (cur.right != null) {
cur = cur.right;
}
if (cur.val >= root.val) {
return false;
}
}
if (root.right != null) {
TreeNode cur = root.right;
while (cur.left != null) {
cur = cur.left;
}
if (cur.val <= root.val) {
return false;
}
}
boolean left = isValidBST(root.left);
boolean right = isValidBST(root.right);
return left && right;
}
}
相关文章
- PyCharm使用教程 — 9、PyCharm中的搜索技巧(文件/函数/内容)「建议收藏」
- LeetCode98:验证二叉搜索树,居然有这么简单的中等难度,白捡(用时击败100%)
- 【图文安装教程】Docker安装ES的拼音分词器-搜索时候自动补全必备
- 4个例子,吃透 JavaScript 实现的二叉搜索树 BST
- KG4Py:Python代码知识图谱和语义搜索的工具包
- Github高效搜索方式
- PTA 数据结构与算法题目集(中文)7-4 是否同一棵二叉搜索树 (25 分) 题解
- Chrome强化数字化办公:新增多页扫描和OCR识别搜索功能
- MySQL的唯一索引:优化数据搜索(mysql的唯一索引)
- 搜索 Linux 中的文件和文件夹的四种简单方法
- 用图片搜索视频是一种什么样的技术? | 雷锋网公开课
- 利用Linux实现高效的关键字搜索技巧(linux搜索关键字)
- Linux中快速高效的内容搜索实践(linux内容搜索)
- MSSQL实现模糊搜索:令人眼前一亮的效果!(mssql模糊匹配)
- 搜索结果b站上MySQL精彩讲解最强大播主(b站mysql谁讲得好)
- 利用通配符搜索Oracle中的数据(oracle中使用通配符)
- iOS 15搜索体验大改进:涵盖网图、相册、锁屏访问等更多内容