剑指Offer——平衡二叉树
1、题目描述
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
2、代码实现
package com.baozi.offer; /** * 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 * * @author BaoZi * @create 2019-07-14-9:11 */ public class Offer27 { public boolean IsBalanced_Solution(TreeNode root) { if (root == null) { return true; } if (Math.abs(getHigh(root.left) - getHigh(root.right)) > 1) { return false; } return IsBalanced_Solution(root.left) && IsBalanced_Solution(root.right); } private int getHigh(TreeNode root) { if (root == null) { return 0; } int len_left = getHigh(root.left); int len_right = getHigh(root.right); return 1 + Math.max(len_left, len_right); } }