平衡二叉树,判断一颗树是否是平衡二叉树,满足下面条件
- 根节点的左右子树,它们的深度差不能超过1
- 左右子树都是平衡二叉树
const getH = root => {
if (!root) return 0;
return Math.max(getH(root.left), getH(root.right)) + 1;
};
const isBalanced = root => {
if (!root) return true;
return (
Math.abs(getH(root.left) - getH(root.right)) <= 1 &&
isBalanced(root.left) &&
isBalanced(root.right)
);
};