美文网首页
剑指 offer 笔记 39 | 平衡二叉树

剑指 offer 笔记 39 | 平衡二叉树

作者: ProudLin | 来源:发表于2019-11-11 09:08 被阅读0次

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

思路分析
如果某二叉树中任意节点的左、右子树的深度相差不超过 1 ,那么它就是一棵平衡二叉树。

解释说明:

public class Solution {
    public boolean IsBalanced_Solution(TreeNode root) {
        return getDepth(root) != -1;
    }
     
    private int getDepth(TreeNode root) {
        if (root == null)
            return 0;
        int left = getDepth(root.left);
        if (left == -1)
            return -1; //如果发现子树不平衡之后就没有必要进行下面的高度的求解了
        int right = getDepth(root.right);
        if (right == -1)
            return -1;//如果发现子树不平衡之后就没有必要进行下面的高度的求解了
        return Math.abs(left - right) > 1 ? -1 : 1 + Math.max(left, right);
    }
}

链接:https://www.nowcoder.com/questionTerminal/8b3b95850edb4115918ecebdf1b4d222?f=discussion
来源:牛客网

相关文章

  • 平衡二叉树

    《剑指offer》刷题笔记。如有更好解法,欢迎留言。 关键字:树 树的深度 平衡二叉树 题目描述: 输入一棵二叉树...

  • 剑指 offer 笔记 39 | 平衡二叉树

    题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。 思路分析如果某二叉树中任意节点的左、右子树的深度相差不超过...

  • 每日一练(28):平衡二叉树

    title: 每日一练(28):平衡二叉树 categories:[剑指offer] tags:[每日一练] da...

  • 剑指 offer:39、平衡二叉树

    39. 平衡二叉树 题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 解题思路: 平衡二叉树:Wiki:在...

  • 剑指offer第二版-55.2.平衡二叉树

    本系列导航:剑指offer(第二版)java实现导航帖 面试题55.2:平衡二叉树 题目要求:输入二叉树的根节点,...

  • 树的子结构

    《剑指offer》刷题笔记。如有更好解法,欢迎留言。 关键字:二叉树 递归 题目描述: 输入两棵二叉树A,B,判断...

  • [刷题记录] 剑指 Offer 27. 二叉树的镜像

    2021.11.29算法笔记 剑指 Offer 27. 二叉树的镜像 请完成一个函数,输入一个二叉树,该函数输出它...

  • [剑指offer] 平衡二叉树

    本文首发于我的个人博客:尾尾部落 题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 解题思路 定义:平衡二...

  • 【剑指 offer】平衡二叉树。

    1、题目描述 输入一棵二叉树的根结点,判断该树是不是平衡二叉树。 如果某二叉树中任意结点的左右子树的深度相差不超过...

  • 二叉树的镜像

    《剑指offer》刷题笔记。如有更好解法,欢迎留言。 关键字:树 递归 题目描述: 操作给定的二叉树,将其变换为源...

网友评论

      本文标题:剑指 offer 笔记 39 | 平衡二叉树

      本文链接:https://www.haomeiwen.com/subject/rskabctx.html