四刷98. Validate Binary Search Tree

还是没做出来,这道题的方法是比较特别,记住吧。为什么要初始化为null,是因为不知道上下限。

/**
 * 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 helper(root, null, null);
    }
    
    private boolean helper(TreeNode root, Integer min, Integer max){
        if (root == null){
            return true;
        }        
        if (min != null && root.val <= min || (max != null && root.val >= max)){
            return false;
        }
        return helper(root.left, min, root.val) && helper(root.right, root.val, max);
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,896评论 18 399
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,348评论 0 33
  • 一. Java基础部分.................................................
    wy_sure阅读 9,228评论 0 11
  • 刚刚迈进2017年,新一轮的催婚大军又开始轮番轰炸了。因为新的一年,对父母来说,意味着家中待嫁的闺女年纪又大了一岁...
    意语轩阅读 2,944评论 0 1
  • 1,不该在四川汽车票网订票,收10块钱手续费不说还给了两个分开的位置。另外一个是自己没经验,没有给崽崽买个座位,也...
    云落一秋阅读 1,488评论 0 0