• 二叉树平衡检查


    题目描述
    实现一个函数,检查二叉树是否平衡,平衡的定义如下,对于树中的任意一个结点,其两颗子树的高度差不超过1。

    给定指向树根结点的指针TreeNode* root,请返回一个bool,代表这棵树是否平衡。

    # -*- coding:utf-8 -*-
    class TreeNode:
        def __init__(self, x):
            self.val = x
            self.left = None
            self.right = None
    
    
    class Balance:
        def isBalance(self, root):
            if root is None:
                return True
            if abs(self.get_length(root.left)-self.get_length(root.right))>1:
                return False
            return self.isBalance(root.left) and self.isBalance(root.right)
    
        def get_length(self,root):
            if root is None:
                return 0
            return 1+max(self.get_length(root.left),self.get_length(root.right))
    
  • 相关阅读:
    CodeForces 546C(队列)
    N皇后摆放问题
    士兵队列
    货币问题
    C
    B
    ACM第三次比赛 Big Chocolate
    ACM比赛(第三次D)
    ACM第三次比赛UVA11877 The Coco-Cola Store
    uva 10382
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/11182617.html
Copyright © 2020-2023  润新知