[2021校招必看之Java版《剑指offer》-21] 平衡二叉树

文章目录

  • 1、题目描述
  • 2、解题思路
    • 2.1 自上向下的方法
    • 2.2 自下向上的方法
  • 3、解题代码
    • 3.1 自上向下的方法
    • 3.2 自下向上的方法
  • 4、解题心得

1、题目描述

  【JZ39】输入一棵二叉树,判断该二叉树是否是平衡二叉树。在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树。
  知识点:树,递归
  难度:☆

2、解题思路

  平衡二叉树的特点:它是一棵空树或它的左右两颗子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
  根据平衡二叉树的特点,只需要做好两个判断就行:
  1、左右子树的高度差的绝对值是否超过1?
  2、左右子树是否平衡二叉树?
  第一个判断涉及到二叉树的高度计算,可以参考我的第三篇博客https://blog.csdn.net/qq_29051413/article/details/106806105
  第二个判断是否平衡二叉树可以采用递归的思想。

你可能感兴趣的:(剑指offer(Java语言))