美文网首页
验证二叉树有效性

验证二叉树有效性

作者: windUtterance | 来源:发表于2020-06-06 10:43 被阅读0次

题目描述

给定一个二叉树,判断其是否是一个有效的二叉搜索树。

假设一个二叉搜索树具有如下特征:

节点的左子树只包含小于当前节点的数。
节点的右子树只包含大于当前节点的数。
所有左子树和右子树自身必须也是二叉搜索树。

示例
输入:
5
/ \
1 4
/ \
3 6
输出: false
解释: 输入为: [5,1,4,null,null,3,6]。
根节点的值为 5 ,但是其右子节点值为 4 。

Java代码

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    long pre  = Long.MIN_VALUE;

    public boolean isValidBST(TreeNode root) {
        if(root == null) return true;
        
        //访问左子树
        if(!isValidBST(root.left)) return false;

        //访问当前节点:如果当前节点小于中序遍历的前一个节点,说明不满足BST,返回FALSE
        if(root.val <= pre) return false;
        pre = root.val;

        //访问右子树
        return isValidBST(root.right);
    }
}

相关文章

  • 验证二叉树有效性

    题目描述: 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包...

  • 身份证有效性验证方法

    身份证有效性验证方法【javaScript】

  • License方案

    summary 设置一个license, license包含了有效性验证, 合法性验证, license多维度验证...

  • 如何设置表格的下拉框选项

    WPS: 数据>有效性,弹窗如下: Office:数据>数据验证,弹窗如下:

  • Excel数据有效性

    数据有效性的相关设置在 数据-->数据验证 中

  • Excel系列课之8 下拉菜单

    一、数据有效性 数据有效性,又指数据验证,是对数据格式及内容进行规范、限定,达到统一、纠错的目的。 数据有效性内容...

  • iOS编程常用的正则表达式

    手机号 邮箱的有效性验证 网页地址的有效性 简单的身份证有效性 车型 判断是否有特殊符号 密码是否有效 车牌号的有...

  • 动态图标的制作

    一、常规图表 二、vlookup动态图表 1.加入辅助列姓名,进行数据有效性的验证: 步骤:数据→数据有效性→序列...

  • 三、Spring Security表单验证码

    表单验证码登录 表单登录验证码验证,一般在用户名、密码提交登录前,添加过滤器,先验证验证码的有效性(开发中一般用的...

  • 第八期-第二十天 动态图表

    一、VLOOKUP制作动态图表 1、先加入辅助列,把我们的姓名复制过来,进行数据有效性的验证,点数据-数据有效性-...

网友评论

      本文标题:验证二叉树有效性

      本文链接:https://www.haomeiwen.com/subject/owbwzhtx.html