《剑指offer》系列 平衡二叉树(Java)

版权声明:本博客可任意转载,不用通知 https://blog.csdn.net/hbkzhu13579/article/details/84492318

链接

牛客:平衡二叉树

题目描述

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

思路

平衡二叉树就是二叉树任意结点左子树和右子树的高度差不超过1,在上一题求二叉树高度的基础上再简单修改下就好了。

代码

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

猜你喜欢

转载自blog.csdn.net/hbkzhu13579/article/details/84492318