给定一个二叉树,判断其是否是一个有效的二叉搜索树。
一个二叉搜索树有如下定义:
    左子树只包含小于当前节点的数。
    右子树只包含大于当前节点的数。
    所有子树自身必须也是二叉搜索树。
示例 1:
    2
   / \
  1   3
二叉树[2,1,3], 返回 true.
示例 2:
    1
   / \
  2   3
二叉树 [1,2,3], 返回 false.
详见:https://leetcode.com/problems/validate-binary-search-tree/description/

Java实现:

/*** Definition for a binary tree node.* 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;}return isValidBST(root,Long.MIN_VALUE, Long.MAX_VALUE);}private boolean isValidBST(TreeNode root,long min,long max){if(root==null){return true;}else if(root.val<=min||root.val>=max){return false;}return isValidBST(root.left,min,root.val)&&isValidBST(root.right,root.val,max);}
}

参考:https://www.cnblogs.com/grandyang/p/4298435.html

转载于:https://www.cnblogs.com/xidian2014/p/8717767.html

098 Validate Binary Search Tree 验证二叉搜索树相关推荐

  1. [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 ...

  2. LeetCode 669. Trim a Binary Search Tree修剪二叉搜索树 (C++)

    题目: Given a binary search tree and the lowest and highest boundaries as L and R, trim the tree so th ...

  3. Binary Search Tree(二叉搜索树、二叉查找树、二叉排序树)

    搜索树数据结构支持许多动态几何操作,包括SEARCH.MININUM.MAXINUM.PREDECESSOR.SUCCESSOR.INSERT和DELETE等.因此,我们可以使用一个搜索树作为字典或者 ...

  4. 99. Recover Binary Search Tree(恢复二叉搜索树)

    题目链接:https://leetcode.com/problems/recover-binary-search-tree/ 思路: 看到二叉搜索树时,我想到的是中序遍历符合从大到小的原则. 然后根据 ...

  5. 99. Recover Binary Search Tree 恢复二叉搜索树

    二叉搜索树中的两个节点被错误地交换. 请在不改变其结构的情况下,恢复这棵树. 示例 1: 输入: [1,3,null,null,2] 1/3\2 输出: [3,1,null,null,2] 3/1\2 ...

  6. leetcode 235. Lowest Common Ancestor of a Binary Search Tree | 235. 二叉搜索树的最近公共祖先(哈希表)

    题目 https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/ 题解 哈希表解法思路来自左程云< ...

  7. LeetCode 之 JavaScript 解答第98题 —— 验证二叉搜索树(Validate Binary Search Tree)

    Time:2019/4/24 Title: Vaildata Binary Search Tree Difficulty: Medium Author: 小鹿 题目:Vaildata Binary S ...

  8. [Leedcode][JAVA][第98题][验证二叉搜索树]

    [问题描述][第98题][验证二叉搜索树][中等] 给定一个二叉树,判断其是否是一个有效的二叉搜索树.假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数. 节点的右子树只包含大于当前节 ...

  9. 【LeetCode】【HOT】98. 验证二叉搜索树(递归)

    [LeetCode][HOT]98. 验证二叉搜索树 文章目录 [LeetCode][HOT]98. 验证二叉搜索树 package hot;class TreeNode{int val;TreeNo ...

最新文章

  1. python selenium 文件上传_Python+Selenium学习--上传文件
  2. please wait while windows configures microsoft visual studio professional 2013
  3. Flex DataGrid可编辑对象实现Enter跳转
  4. python字符串去头尾_带你认识优秀的python代码
  5. dotnet 通过引用 msbuild 程序集实现自己定制编译器
  6. 值不值得入手_看好三阳的小拉力,但不知道值不值得入手?
  7. 【Uvalive 2531】 The K-League (最大流-类似公平分配问题)
  8. 数据结构—树的基本概念与性质(思维导图)
  9. python网络测速_Linux下3种常用的网络测速工具
  10. 如何设置excel表格表头冻结_Excel如何固定表头,Excel冻结首行首列或指定行
  11. Qcom平台,dump解析环境配置
  12. matlab求椭圆周长,用matlab计算椭圆周长及牛顿迭代的matlab完成
  13. python 实现 i18n 多语言国际化
  14. 用python刷网页浏览量_使用python刷文章阅读量
  15. Hotkeycontrol录制宏
  16. unwinding now org.apache.cxf.interceptor.Fault: Index: 1, Size: 1
  17. 系列报道 | 组织范式“青色组织”兴起:员工骨子里透出愉悦积极气质
  18. 计算机毕业设计ssm临沂旅游咨询系统
  19. 323篇论文被ACM全部撤稿!放眼望去都是中国作者,原因令人无语...
  20. 微信小程序学习总结1

热门文章

  1. 简述基于EDA技术的FPGA设计
  2. 【解决办法】安装Exchange2010时报错 - “UserMailbox 必须强制使用Database”
  3. SharePoint 2013 APP 开发示例 系列
  4. linux 修改系统时区和时间
  5. Hibernate+Spring整合使用二级缓存
  6. 随机文件处理函数应用
  7. Girton events
  8. 如果我们预先得知未来某一刻会因为此刻的决定而失败,那是否还会继续努力?
  9. 工业界和学术界的思考
  10. 避免资源放在收藏夹里面吃灰的方法(如从typora上直接能导出html并且无缝连接到微信公众号的神奇网站)