39.平衡二叉树
题目描述
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
解题思路:根据平衡二叉树定义,二叉树中每个结点的左右子树高度差不超过1,我们用递归来实现。
public int depth(TreeNode root)
{
if(root==null)
return 0;
return 1+Math.max(depth(root.left),depth(root.right));
}
public boolean IsBalanced_Solution(TreeNode root) {
if(root==null)
return true;
return Math.abs(depth(root.left)-depth(root.right))<=1 && IsBalanced_Solution(root.left) && IsBalanced_Solution(root.right);
}