题解 | #判断是不是平衡二叉树#
判断是不是平衡二叉树
https://www.nowcoder.com/practice/8b3b95850edb4115918ecebdf1b4d222
方法:只判断左右深度之差比较容易,但是误区在于还要判断左右子树是不是也是平衡二叉树。
import java.util.*;
public class Solution {
public boolean IsBalanced_Solution(TreeNode root) {
if(root==null)return true;
if(Math.abs((height(root.left)-height(root.right)))>1)
return false;
//左子树和右子树如果不满足平衡二叉树也要返回false
return IsBalanced_Solution(root.left)&&IsBalanced_Solution(root.right);
}
public int height(TreeNode root){
if(root==null)return 0;
int lh=height(root.left);
int rh=height(root.right);
return lh>rh?lh+1:rh+1;
}
}

