劍指offer 39 平衡二叉樹

題目描述

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

思路

直接遞歸求出每個節點的左右子節點的最長路徑,然後比較是否滿足AVL樹的要求。

public class Solution {
    int judge=1;
    public int Judge_AVL(TreeNode root){
        if(root==null)return 0;
        int deep1=Judge_AVL(root.left);
        int deep2=Judge_AVL(root.right);
        if((deep1-deep2>1)||(deep1-deep2)<-1){judge=-1;}
        return Math.max(deep1,deep2)+1;
    }
    public boolean IsBalanced_Solution(TreeNode root) {
        int []deep=new int[1];
        deep[0]=0;
        Judge_AVL(root);
        if(judge==1)return true;
        return false;
    }
}



發佈了144 篇原創文章 · 獲贊 4 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章