验证二叉搜索树(利用二叉搜索树的定义来写递归 即左子树必须小于根 右子树必须大于根 )
class Solution{
public boolean heelper(TreeNode node,Integer lower,Integer upper){ 定义一个树node 最小值和最大值 左子树不能大于根 右子树不能小于根
if(node==null) return false;
int val=node.val;
if(lower!=null&&val<=lower) return false;
if(upper!=null&&val>=upper) return false;
if(!helper(node.right,val,upper)) return false;
if(!(helper(node.left,lower,val)) return false;
return true;
}
public boolean isValidBST(TreeNode root){
return helper(root,null,null);
}
}
找出二叉树中的最大深度
class Solution{
public int maxDepth(TreeNode root){
if(root==null) return 0;
return 1+Math.max(maxDepth(root.left),maxDepth(root.right)); 直接递归找出左右子树最大高度的树即可
}
}