leetcode98. 验证二叉搜索树(递归)

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

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

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

首先将结点的值与上界和下界(如果有)比较。然后,对左子树和右子树递归进行该过程。

class Solution {
    public boolean help(TreeNode root,Integer low,Integer high){
        if(root==null) return true;
        if(low!=null&&root.val<=low) return false;
        if(high!=null&&root.val>=high) return false;
       if(!help(root.right,root.val,high)) return false;
      if(! help(root.left,low,root.val)) return false;
        return true;
    }
      public boolean isValidBST(TreeNode root) {
        return help(root,null,null);
    }
}

你可能感兴趣的:(mid)