在获得左右子树高度后进行差值判断,若出现高度差大于1的情况,改变flag标志
唯一注意的是:空树也是平衡二叉树
public class Solution { boolean flag = true; public boolean IsBalanced_Solution(TreeNode root) { if(root==null) return true; pre(root); return flag; } public int pre(TreeNode root){ if(root==null) return 0; int left = pre(root.left); int right = pre(root.right); if(Math.abs(left-right)>1) flag = false; return Math.max(left,right)+1; } }