Leetcode98. Validate Binary Search Tree验证二叉搜索树
给定一个二叉树,判断其是否是一个有效的二叉搜索树。
假设一个二叉搜索树具有如下特征:
- 节点的左子树只包含小于当前节点的数。
- 节点的右子树只包含大于当前节点的数。
- 所有左子树和右子树自身必须也是二叉搜索树。
示例 1:
输入: 2 / \ 1 3 输出: true
示例 2:
输入: 5 / \ 1 4 / \ 3 6 输出: false 解释: 输入为: [5,1,4,null,null,3,6]。 根节点的值为 5 ,但是其右子节点值为 4 。
class Solution {
public:
    bool isValidBST(TreeNode* root)
    {
        if(root == NULL)
            return true;
        if(!CheckLeft(root ->val, root ->left))
            return false;
        if(!CheckRight(root ->val, root ->right))
            return false;
        return isValidBST(root ->left) && isValidBST(root ->right);
    }
    bool CheckLeft(int val, TreeNode* root)
    {
        if(root == NULL)
            return true;
        if(root ->val >= val)
            return false;
        return CheckLeft(val, root ->left) && CheckLeft(val, root ->right);
    }
    bool CheckRight(int val, TreeNode* root)
    {
        if(root == NULL)
            return true;
        if(root ->val <= val)
            return false;
        return CheckRight(val, root ->left) && CheckRight(val, root ->right);
    }
};Leetcode98. Validate Binary Search Tree验证二叉搜索树的更多相关文章
- [CareerCup] 4.5 Validate Binary Search Tree 验证二叉搜索树
		4.5 Implement a function to check if a binary tree is a binary search tree. LeetCode上的原题,请参见我之前的博客Va ... 
- [LeetCode] Validate Binary Search Tree 验证二叉搜索树
		Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined as ... 
- [LeetCode] 98. Validate Binary Search Tree 验证二叉搜索树
		Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined as ... 
- 098 Validate Binary Search Tree 验证二叉搜索树
		给定一个二叉树,判断其是否是一个有效的二叉搜索树.一个二叉搜索树有如下定义: 左子树只包含小于当前节点的数. 右子树只包含大于当前节点的数. 所有子树自身必须也是二叉搜索树.示例 1 ... 
- [leetcode]98. Validate Binary Search Tree验证二叉搜索树
		Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined as ... 
- [LeetCode] Verify Preorder Sequence in Binary Search Tree 验证二叉搜索树的先序序列
		Given an array of numbers, verify whether it is the correct preorder traversal sequence of a binary ... 
- [LeetCode] 255. Verify Preorder Sequence in Binary Search Tree 验证二叉搜索树的先序序列
		Given an array of numbers, verify whether it is the correct preorder traversal sequence of a binary ... 
- [LeetCode98]98. Validate Binary Search Tree判断二叉搜索树
		判断二叉搜索树的方法是: 中序遍历形成递增序列 //全局变量记录中序遍历产生的序列,因为要递归,所以要用全局变量 List<Integer> list = new ArrayList< ... 
- [LeetCode] Binary Search Tree Iterator 二叉搜索树迭代器
		Implement an iterator over a binary search tree (BST). Your iterator will be initialized with the ro ... 
随机推荐
- Java开发系列-注解
			概述 在JDK5之后提供了一个新特性,和类.接口同级.定义时使用的关键字是@interface.注解主要有三个作用,分别是编译检查.替代配置文件.定义注解(元注解).分析代码(用到反射).注解的本质就 ... 
- SpringBoot集成JPA根据实体类自动生成表
			数据库是mysql,在application.properties中的写法如下: 原来配置这样的时候确实可以生产表的 #spring.jpa.hibernate.ddl-auto=update 多方查 ... 
- Java工具类NumberUtils使用
			int数据类型和long数据类型 int占32位,long占64位,long表示的数据更大:public static int toInt(String str) NumberUtils.toInt( ... 
- 通过ID获取元素 注:获取的元素是一个对象,如想对元素进行操作,我们要通过它的属性或方法。
			通过ID获取元素 学过HTML/CSS样式,都知道,网页由标签将信息组织起来,而标签的id属性值是唯一的,就像是每人有一个身份证号一样,只要通过身份证号就可以找到相对应的人.那么在网页中,我们通过id ... 
- Python全栈开发:Ajax全套
			概述 对于WEB应用程序:用户浏览器发送请求,服务器接收并处理请求,然后返回结果,往往返回就是字符串(HTML),浏览器将字符串(HTML)渲染并显示浏览器上. 1.传统的Web应用 一个简单操作需要 ... 
- Python  xlwt模块
			Examples Generating Excel Documents Using Python’s xlwt Here are some simple examples using Python’s ... 
- 廖雪峰Java13网络编程-1Socket编程-1网络编程概念
			1.计算机网络 1.1 什么是计算机网络? 两台或更多计算机组成的网络 同一网络内的任意2台计算机都可以直接通信 所有计算机必须遵循同一种网络协议 1.2 什么是互联网 互联网是网络的网络 互联网采用 ... 
- day07 linux磁盘分区,ps,kill,df,top命令使用
			day07进入单用户模式删除密码不能进入系统问题: SELINUX=disabled 操作系统linux开机流程加电BIOS找到启动介质先读取第一个扇区(MBR)grup找到kernel加载到内存执行 ... 
- MyEclipse如何使用debug模式
			知道如何打断点,如何进入debug与debug模式的视图,还有工具栏的使用和快捷键的使用 https://blog.csdn.net/menglanyingfei/article/details/55 ... 
- 我眼中javascript的这些年
			写了两年多的js了吧,一开始的目标并没有很学术,我只想安安静静做个很厉害的开发者.但是总是沉溺在一种语言里,会让人误以为这种语言很厉害,就像只在村子里混的话,我觉得我自己可以逆天,村外有人,编程世界也 ... 
