美文网首页
LeetCode-110-平衡二叉树(python)

LeetCode-110-平衡二叉树(python)

作者: JunfengsBlog | 来源:发表于2019-08-23 22:04 被阅读0次
平衡二叉树

思路很清晰,就是获得每个节点的左右子树高度,然后返回 abs(左子树高度-右子树高度) <= 1的值。

return self.eachNodeBalanced(root) and self.isBalanced(root.left) and self.isBalanced(root.right)

这句代码就是返回每个节点是否满足平衡二叉树调节的布尔值的值,只要有一个是False,那么最终的返回值都是False,只有当所有的节点都满足平衡条件时,最终结果才是True。


完整代码如下:

class Solution:
    def isBalanced(self, root: TreeNode) -> bool:
        if root is None:
            return True
        return self.eachNodeBalanced(root) and self.isBalanced(root.left) and self.isBalanced(root.right)

    def getHeight(self, root):
        if root is None or root.val is None:
            return 0
        return max(self.getHeight(root.left), self.getHeight(root.right)) + 1

    def eachNodeBalanced(self, root):
        leftHeight = self.getHeight(root.left)
        rightHeight = self.getHeight(root.right)
        return abs(leftHeight - rightHeight) <= 1
        

相关文章

  • LeetCode-110-平衡二叉树(python)

    思路很清晰,就是获得每个节点的左右子树高度,然后返回 abs(左子树高度-右子树高度) <= 1的值。 这句代码就...

  • LeetCode-110-平衡二叉树

    平衡二叉树 题目描述:给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每...

  • leetcode-110-是否是平衡二叉树

    // https://leetcode-cn.com/problems/balanced-binary-tree...

  • python的dict实现

    由于Python内部大量使用dict这种结构,效率要求很高,所以Python没有使用STL map的平衡二叉树,而...

  • 剑指 offer:39、平衡二叉树

    39. 平衡二叉树 题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 解题思路: 平衡二叉树:Wiki:在...

  • 平衡二叉树

    1)什么是平衡二叉树?2)平衡二叉树的特点是什么?3)平衡二叉树的构建实现? 一、什么是平衡二叉树?假设有一组数据...

  • Python数据结构(栈, 队列, 二叉树, 链表, 图)

    Python栈 Python队列 Python二叉树 二叉树使用 Python链表

  • 面试题:平衡二叉树

    题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 知识点 平衡二叉树 Qiang的思路 平衡二叉树是指一个...

  • Leetcode 110 平衡二叉树

    平衡二叉树 题目 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每...

  • 二叉树2-平衡二叉树、完全二叉树、二叉树剪枝

    110.平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。 一棵高度平衡二叉树定义为:一个二叉树每个节点 ...

网友评论

      本文标题:LeetCode-110-平衡二叉树(python)

      本文链接:https://www.haomeiwen.com/subject/iqyxectx.html