题目描述
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
public class Solution {
public boolean IsBalanced_Solution(TreeNode root) {
int num=DepthOfTree(root);
if(num==-1)
return false;
return true;
}
private int DepthOfTree(TreeNode root){
if(root==null)
return 0;
int leftDepth=DepthOfTree(root.left);
if (leftDepth == -1) return -1;
int rightDepth=DepthOfTree(root.right);
if (rightDepth == -1) return -1;
if(leftDepth>rightDepth+1||rightDepth>leftDepth+1)
return -1;
return (leftDepth>rightDepth?leftDepth:rightDepth)+1;
}
}