平衡二叉树

题目描述

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

 

代码实现

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 ;
        }
    }
}

 

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

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试