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# 串口调试助手源码
    C# 中 textBox 侧面滑条 属性
    C# 中 comboBox 禁止输入
    VS2015 下载 破解
    中国移动OnetNet云平台 GET指令使用
    JSON JsonArray和JsonObject学习资料
    sublime 添加 ConvertToUTF-8
    sublime 添加 颜色插件 colorcoder
    线程池
    爬虫中基本的多线程
  • 原文地址:https://www.cnblogs.com/NPC-assange/p/9614505.html
Copyright © 2011-2022 走看看