leetcode_110. 平衡二叉树

给定一个二叉树,判断它是否是高度平衡的二叉树。

本题中,一棵高度平衡二叉树定义为:

一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/balanced-binary-tree
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def isBalanced(self, root: TreeNode) -> bool:
        def height(tr:TreeNode)->int:
            if tr is None:
                return 0
            return 1+max(height(tr.left),height(tr.right)) 
        
        if not root :
            return True
        return abs(height(root.left)-height(root.right))<=1 and self.isBalanced(root.left) and  self.isBalanced(root.right)
posted @ 2020-11-29 08:49  hqzxwm  阅读(42)  评论(0编辑  收藏  举报