题目 平衡二叉树
leetcode-110号题,给定一个二叉树,判断它是否是高度平衡的二叉树。
1 | 3 |
返回true。
思路
这种类型的题目还是比较好做的,我们有许多种类的二叉树,大多都是当前树与其子树之间有着某种关系。只要把节点进行比对就可以判断了。回忆一下,我们利用了递归实现了二叉树的前中后序遍历。
- 在递归的过程中,每一个节点都会经过3次。这样就可以对比父子节点了
下面来分析一下,以X节点为头的树要判断是否为平衡二叉树需要如下:
其左子树是否平衡
其右子树是否平衡
左子树的高和右子树的高(判断高度差)
实现
1 | public static boolean isBalance(Node head) { |