1. 程式人生 > >劍指offer(四十七)之平衡二叉樹

劍指offer(四十七)之平衡二叉樹

題目描述

輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。

程式碼:

public class Solution {
   public boolean IsBalanced_Solution(TreeNode root) {
        if (root == null)
            return true;
 
        if (Math.abs(getHeight(root.left) - getHeight(root.right)) > 1)
            return false;
 
         
        return IsBalanced_Solution(root.left) && IsBalanced_Solution(root.right);
 
    }
 
    public int getHeight(TreeNode root) {
        if (root == null)
            return 0;
        return max(getHeight(root.left), getHeight(root.right)) + 1;
    }
 
    private int max(int a, int b) {
        return (a > b) ? a : b;
    }
}