题解 | #判断是不是平衡二叉树#
判断是不是平衡二叉树
http://www.nowcoder.com/practice/8b3b95850edb4115918ecebdf1b4d222
public class Solution {
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);
}
public int depth(TreeNode t){
if(t==null) return 0;
return Math.max(depth(t.left),depth(t.right))+1;
}
}
思路:暴力循环一遍所有的点
针对当前结点:保证左右子树的depth之差小于等于1
其次要保证其左右孩子节点也要符合