递归解法
二叉树平衡检查
http://www.nowcoder.com/questionTerminal/b6bbed48cd864cf09a34a6ca14a3976f
本题使用递归即可轻松解决。
public boolean isBalance(TreeNode root) { // write code here if(root==null){ return true; } int leftHeight=getTreeHeight(root.left); int rightHeight=getTreeHeight(root.right); int dif=leftHeight-rightHeight; if (dif>1||dif<-1){ return false; } return isBalance(root.left)&&isBalance(root.right); } /** * 计算树的高度 * @param root * @return */ public int getTreeHeight(TreeNode root){ if(root==null){ return 0; } return Math.max(getTreeHeight(root.left),getTreeHeight(root.right))+1; }