Python|递归法判断平衡二叉树

问题描述给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。

输入:root = [3, 9, 20, null, null,15, 7]root = [1, 2, 2, 3, 3, null,null, 4, 4]root = []输出:truefalsetrue解决方案首先要先知道平衡二叉树的是什么,二叉树是数据结构中由n个结点组成的有限集合,二叉树是有序树,有左右两子树;平衡二叉树就是二叉树的每个结点的高度差不会超过1并且只会在(-1,0,1)三个范围中的二叉树,所以在判断时可以使用递归的方式去判断是否为平衡二叉树,递归的方式可以是自上而下或者自下而上,这里使用的是自上而下。先定义一个新的函数,将节点分为空与非空,然后对二叉树进行遍历,计算左右子树的高度,如果左右子树的高度差在范围内,就分别递归左右子节点进行判断是否平衡。因为本题是在力扣上做的,前两行的定义函数是力扣自动生成的,但是后面的需要更换函数就可以在pychram上运行。代码中的root是二叉树的根节点,left与right是左右子树结语要解决本题需要学习数据结构中的二叉树的相关知识,包括先中后序遍历等对二叉树的变换以及应用,本文的代码也比较难懂,也要对函数有基础使用方法。本次就是用到的递归的方式来解决这个问题。附件class Solution:def isBalanced(self, root: TreeNode) -> bool:def height (root:TreeNode)-> int:if not root:return 0return max(height(root.left),height(root.right)) + 1if not root:return Truereturn abs(height(root.left)-height(root.right)) <= 1 and self.isBalanced(root.left) and self.isBalanced(root.right)实习编辑:衡辉稿件来源:深度学习与文旅应用实验室(DLETA)

(0)

相关推荐

  • ​LeetCode刷题实战144:二叉树的前序遍历

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  • (1条消息) 漫画:二叉树系列 第二讲(层次遍历与BFS)

    在上一节中,我们通过例题学习了二叉树的DFS(深度优先搜索),其实就是沿着一个方向一直向下遍历.那我们可不可以按照高度一层一层的访问树中的数据呢?当然可以,就是本节中我们要讲的BFS(宽度优先搜索), ...

  • (1条消息) 漫画:二叉树系列 第四讲(BST的查找)

    在上一节中,我们学习了二叉搜索树.那我们如何在二叉搜索树中查找一个元素呢?和普通的二叉树又有何不同?我们将在本节内容中进行学习! 下面看题:???????????? 01 第700题:二叉搜索树中的搜 ...

  • (1条消息) 万字长文!二叉树入门和刷题看这篇就够了!

    今天是小浩算法 "365刷题计划" 二叉树入门 - 整合篇.本篇作为入门整合篇,已经砍去难度较大的知识点,所有列出的内容,均为必须掌握.因为很长,写下目录: 二叉树是啥 二叉树的最 ...

  • 高手绝招:以冲泡法判断普洱茶是否乔木/台地与新/老

                                 1#普洱茶冲泡特点 一般来说,普洱茶淡泡则走香(味) ,浓泡则走汤(韵).注水时高冲重香,低冲则汤软.而煮水壶注水入茶壶的高低也会影响茶汤的柔 ...

  • python升序数判断

    这可能有助于:A=[10,9,8,3,1,0] B=[1,9,18,33,41,50] C=[1, 1, 1, 1, 1] D= [1] E=[1, 2, 3, 2, 1] F =[] def ord ...

  • 用散点图法判断变量之间是否存在线性关系

    线性回归要求因变量与自变量之间存在线性关系,如何来判断呢?实践中我们常采用散点图法,即通过绘制出因变量与自变量的散点图进行观察判断. 如果散点趋向于构成一条直线,那么说明因变量和自变量之间存在线性关系 ...

  • 小六壬法判断篇

    小六壬法的 "大安.留连.速喜.赤口.小吉.空亡" 六种判断格局,是判断事物的六种基本状态,它包括了所测事物的全部内容,是对其预测结果的高度概括,在实际运用中,可根据这六种格局的基 ...

  • 形法秘诀中各种形法判断

    断出文官大小官职法 主出文官也不同,笔架城门御史公.三重笔架重重案,声朝廷给事中.金枝玉叶三层统,长吏定在此中生.华盖台少卿位,土造木印布政通.前官后鬼员外职,楼台鼓角水布通.火浩金印知县是,金浩木印 ...

  • 你是“肾阴虚”还是“肾阳虚”?“五望法”判断肾阴虚还是肾阳虚【一点资讯】

    今日养生:你是"肾阴虚"还是"肾阳虚"?"五望法"判断肾阴虚还是肾阳虚 首先讲第一个问题,阴阳平衡是生命活力的根本,阴阳平衡则人体健康有神. ...

  • 指压法判断肺炎:包括新冠肺炎

    所做的轻重缓急症候群下的宽松检测.在有高度先进治疗法的指压电击法下,只要根据症状,采用针对肺部发炎,心肌炎与肾衰竭所做的穴位检测法就很准确了. 在无病史的情况下,针对天宗穴,中府穴,三阴交穴,施以80 ...

  • 旺衰法判断不了比劫是否为喜用神,只有太极法才能界定出来

    不代表所有的四柱组合比劫都为忌神,也不代表所有的人行比劫运都不好,很多人走比劫大运而发财,但有一点,就是原局比劫为忌的,行比劫运是不利财的.原局比劫为喜用的,行比劫运会发财.至于比劫是喜是忌,只有太极 ...

  • 做一题,归一类,得一法(二)——用几何法判断直线与椭圆、双曲线的位置关系

    数学家园谷立说过:"类比是伟大的引路人".在教学过程中,若能合理地运用类比,恰当设计探究题目,可以激发学生学习兴趣,促使学生独立思考,自主探索.这样不仅能够帮助学生猜测.发现结论, ...