剑指offer——39.平衡二叉树
题目描述
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
思路:
递归判断树的深度,一旦左右节点的树深度相差超过1,立即返回false.
代码:
public class Solution { private boolean isBalanced=true; public boolean IsBalanced_Solution(TreeNode root) { getDepth(root); return isBalanced; } public int getDepth(TreeNode root){ if(root==null) return 0; int left=getDepth(root.left); int right=getDepth(root.right); if(Math.abs(left-right)>1){ isBalanced=false; } return right>left ?right+1:left+1; } }