【Leetcode】【python】Balanced Binary Tree
来源:互联网 发布:淘宝借呗 编辑:程序博客网 时间:2024/06/16 02:50
题目大意
判断一颗二叉树是否是“高度”平衡的。
平衡二叉树的定义是二叉树的任意节点的两颗子树之间的高度差小于等于1。
这实际上是AVL树(维基百科)的定义。
解题思路
递归判断自身和自身左右子树是否都是平衡的。
而每个循环内判断的依据就是判断树的深度,之前做过的。
代码
class Solution(object): def maxDepth(self, root): if root == None: return 0 return max(self.maxDepth(root.left), self.maxDepth(root.right))+1 def isBalanced(self, root): """ :type root: TreeNode :rtype: bool """ if root == None: return True if abs(self.maxDepth(root.left) - self.maxDepth(root.right)) > 1: return False return self.isBalanced(root.left) and self.isBalanced(root.right)
总结
and/or的用法要牢记,不仅仅是用在if判断里。
阅读全文
0 0
- Balanced Binary Tree Leetcode Python
- 【Leetcode】【python】Balanced Binary Tree
- 【LeetCode with Python】 Balanced Binary Tree
- leetcode 日经贴,python code -Balanced Binary Tree
- 【leetCode】 Balanced Binary Tree python版实现
- [leetcode: Python] 110. Balanced Binary Tree
- LeetCode: Balanced Binary Tree
- [LeetCode]Balanced Binary Tree
- LeetCode Balanced Binary Tree
- [Leetcode] Balanced Binary Tree
- LeetCode : Balanced Binary Tree
- LeetCode Balanced Binary Tree
- [LeetCode] Balanced Binary Tree
- 【leetcode】Balanced Binary Tree
- [LeetCode]Balanced Binary Tree
- [LeetCode] Balanced Binary Tree
- [Leetcode]Balanced Binary Tree
- [leetcode]Balanced Binary Tree
- EKF2学习笔记之运行流程1
- Python List 对象的 append 和 extend 的区别
- Python常用库大全
- RxJS
- linux下的守护进程
- 【Leetcode】【python】Balanced Binary Tree
- numpy.searchsorted 用法
- 动态规划入门-数字三角形
- 【Leetcode】【python】Minimum Depth of Binary Tree
- 码云,git使用 教程
- Java编程入门基础笔记-New
- 以后 博文 要做 中文对照,利于国际化,利于自己熟悉英语。
- uva679
- 【文献阅读】dropout distillation