平衡二叉树

题目描述

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

 

代码实现

public class Solution {
    public boolean IsBalanced_Solution(TreeNode root) {
        if(root == null)
            return true;
        int left = TreeDepth(root.left);
        int right = TreeDepth(root.right);
        int diff = left - right;
        if (diff != 0 && diff != 1 && diff != -1)
            return false;
        else{
            return IsBalanced_Solution(root.left) && IsBalanced_Solution(root.right);
        }
    }
    
    public int TreeDepth(TreeNode root){
        if(root == null)
            return 0;
        else{
            int left = TreeDepth(root.left);
            int right = TreeDepth(root.right);
            return Math.max(left,right)+1 ;
        }
    }
}

 

阅读更多
个人分类: 剑指offer
上一篇二叉树的深度
下一篇数组中只出现一次的数字
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭