zoukankan      html  css  js  c++  java
  • LeetCode--110--平衡二叉树

    问题描述:

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

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

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

    示例 1:

    给定二叉树 [3,9,20,null,null,15,7]

        3
       / 
      9  20
        /  
       15   7

    返回 true

    示例 2:

    给定二叉树 [1,2,2,3,3,null,null,4,4]

           1
          / 
         2   2
        / 
       3   3
      / 
     4   4
    

    返回 false

    方法1:

    通过求子树深度来求子树是否balance。left - right > 1 return False。递归遍历每一个节点。

     1 class Solution(object):
     2     def isBalanced(self, root):
     3         """
     4         :type root: TreeNode
     5         :rtype: bool
     6         """
     7         if root == None:
     8             return True
     9         left = self.getDepth(root.left)
    10         right = self.getDepth(root.right)
    11         if abs(left - right) > 1:
    12             return False
    13         return self.isBalanced(root.left) and self.isBalanced(root.right)
    14     def getDepth(self,root):
    15         if root == None:
    16             return 0
    17         left = self.getDepth(root.left)
    18         right = self.getDepth(root.right)
    19         return max(left,right) + 1

    变体:

     1 class Solution(object):
     2     def isBalanced(self, root):
     3         """
     4         :type root: TreeNode
     5         :rtype: bool
     6         """
     7         def deep(root):
     8             if not root:
     9                 return 0
    10             l = deep(root.left)
    11             r = deep(root.right)
    12             if abs(l-r)>1:
    13                 self.flag = False
    14             return max(l,r)+1
    15         
    16         self.flag=True
    17         deep(root)
    18         if self.flag == False:
    19             return False
    20         else:
    21             return True

    2018-09-09 18:24:35 

  • 相关阅读:
    C#值类型与引用类型
    Eclipse中JSP生成的类文件存放在哪
    java发起HTTP请求的共用类
    .net汉字转字母
    常用 C#操作字符串方法
    MYSQL整理的语法
    CSS基础篇
    JavaScript基础篇
    jquery操作select(增加,删除,清空)
    Aspose.Words 的使用 Aspose.Total_for_.NET
  • 原文地址:https://www.cnblogs.com/NPC-assange/p/9614505.html
Copyright © 2011-2022 走看看