JZ39 平衡二叉树

题目描述

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

在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树

public class Solution {
    
    
    public boolean IsBalanced_Solution(TreeNode root) {
    
    
        if (root == null) return true;
        return getDepth(root) != -1;
    }
    //递归
    private int getDepth(TreeNode node) {
    
    
        if (node == null) {
    
    
            return 0;
        }
        int left = getDepth(node.left);
        if(left == -1) return -1;
        int right = getDepth(node.right);
        if(right == -1) return -1;
        return Math.abs(right - left) <= 1 ? Math.max(left,right)+1 : -1;
    }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41620020/article/details/108634120