剑指 Offer 55 - II. 平衡二叉树

87 阅读1分钟

剑指 Offer 55 - II. 平衡二叉树

平衡二叉树,判断一颗树是否是平衡二叉树,满足下面条件

  1. 根节点的左右子树,它们的深度差不能超过1
  2. 左右子树都是平衡二叉树
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)
    );
};