1. 程式人生 > 其它 >Java輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹

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

技術標籤:簡單小演算法

題目描述

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

在這裡,我們只需要考慮其平衡性,不需要考慮其是不是排序二叉樹

平衡二叉樹(Balanced Binary Tree),具有以下性質:它是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過1,並且左右兩個子樹都是一棵平衡二叉樹。

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 true;
    }
    
    public int getHeight(TreeNode root){
        
        if(root == null){
            return 0;
        }
        
        return Math.max(getHeight(root.left),getHeight(root.right)) + 1;
    }
}