110. 平衡二叉树
给定一个二叉树,判断它是否是高度平衡的二叉树。
本题中,一棵高度平衡二叉树定义为:
一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。
题目链接
class Solution {
public int getHeight(TreeNode root)
{
if (root == null)
{
return 0;
}
return Math.max(getHeight(root.left), getHeight(root.right)) + 1;
}
public boolean isBalanced(TreeNode root)
{
if (root == null)
{
return true;
}
int leftH = getHeight(root.left);
int rightH = getHeight(root.right);
int temp = leftH - rightH;
if (!(temp == -1 || temp == 1 || temp == 0))
{
return false;
}
return isBalanced(root.left) && isBalanced(root.right);
}
}