/**
* 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 {
TreeNode max;
public boolean isValidBST(TreeNode root) {
if (root == null) {
return true;
}
// 左
boolean left = isValidBST(root.left);
// 中
if (max != null && root.val <= max.val) {
return false;
}
max = root;
// 右
boolean right = isValidBST(root.right);
return left && right;
}
}
代码随想录——98. 验证二叉搜索树
最新推荐文章于 2024-10-01 23:05:47 发布
该代码实现了一个方法来检查给定的二叉树是否是有效的二叉搜索树。它通过递归地遍历树的节点,比较当前节点值与之前遇到的最大节点值,确保每个节点的值大于其左子树的所有节点且小于其右子树的所有节点。
摘要由CSDN通过智能技术生成