剑指offer 39 平衡二叉树

来源:互联网 发布:域名备案微信公众号 编辑:程序博客网 时间:2024/05/16 12:25

题目描述

输入一棵二叉树,判断该二叉树是否是平衡二叉树。

思路

直接递归求出每个节点的左右子节点的最长路径,然后比较是否满足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;    }}



0 0
原创粉丝点击