判断是否是平衡二叉树
判断是否是平衡二叉树
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
本题适合直接使用计算二叉树深度的递归代码进行修改:
public class Solution {
private boolean isBalance=true;
public boolean IsBalanced_Solution(TreeNode root) {
if(root==null)
return true;
check(root);
return isBalance;
}
private int check(TreeNode root){
if(!isBalance){
return 0;
}
if(root==null){
return 0;
}
int left=check(root.left);
if(!isBalance){
return 0;
}
int right=check(root.right);
if(!isBalance){
return 0;
}
if(left-right>1||right-left>1){
isBalance=false;
return 0;
}
return Math.max(left,right)+1;
}
}

浙公网安备 33010602011771号