剑指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);
}
}
浙公网安备 33010602011771号