题目描述
判断给定的二叉树是否是平衡的
在这个问题中,定义平衡二叉树为每个节点的左右两个子树高度差的绝对值不超过1的二叉树
public boolean isBalanced (TreeNode root) {
// write code here
if(root==null){
return true;
}
if(root.left==null && root.right==null){
return true;
}
if((Math.abs(deepTree(root.left)-deepTree(root.right))<=1)&&(isBalanced(root.left))&&(isBalanced(root.right))){
return true;
}
return false;
}
public int deepTree(TreeNode root){
if(root == null){
return 0;
}else if(root.left==null && root.right==null){
return 1;
}else{
return Math.max(deepTree(root.left),deepTree(root.right))+1;
}
}