剑指offer之平衡二叉树(Python)
来源:互联网 发布:淘宝怎么评价卖家 编辑:程序博客网 时间:2024/06/15 23:17
题目描述
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
这里首先得知道平衡二叉树的性质
平衡二叉搜索树(Balanced Binary Tree)具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
思路:递归调用判断是否为平衡二叉树的函数,判断条件,任意违背以下条件之一则不为平衡二叉树:
1、左子树与右子树自身不小于0(这个怎么理解呢)
2、左子树与右子树高度只差不超过1(注意:是任一左子树与右子树!!)
class TreeNode():def __init__(self, x):self.val = xself.left = Noneself.right = Nonedef function(root):return judge(root) >= 0def judge(root):if not root:return 0left = judge(root.left)right = judge(root.right)if (left < 0 or right < 0 or abs(left - right) > 1 ):return -1return max(left , right)+1
阅读全文
0 0
- 剑指offer之平衡二叉树(Python)
- 平衡二叉树[剑指offer]之python实现
- 【剑指offer】之判断二叉树平衡
- 剑指offer之平衡二叉树
- 剑指offer之平衡二叉树
- 剑指offer(36)-平衡二叉树
- 剑指offer--平衡二叉树
- 《剑指offer》平衡二叉树
- 剑指Offer--平衡二叉树
- 剑指offer-平衡二叉树
- 剑指offer:平衡二叉树
- 剑指offer 平衡二叉树
- 剑指offer:平衡二叉树
- [剑指offer]平衡二叉树
- 剑指offer|平衡二叉树
- 《剑指offer》-平衡二叉树
- 剑指offer-平衡二叉树
- 剑指offer: 平衡二叉树
- Mybatis入门级教程
- fiddler 抓包
- 微信小程序获取input输入框的值
- 深入理解JAVA虚拟机---垃圾收集算法和垃圾收集器
- SpringMVC之分析RequestMappingHandlerAdapter(一)
- 剑指offer之平衡二叉树(Python)
- HDOJ2036_改革春风吹满地
- hasnext()用法
- java 泛型之 通配符的限定 之 extends 的实例
- 存储器名称
- 几何专题的基础算法
- Windows android studio配置ADB环境变量
- bzoj 3611: [Heoi2014]大工程(虚树+树形DP)
- 问大佬们一个比较简单的问题