平衡二叉树[剑指offer]之python实现
2016-10-12 22:24
357 查看
题目描述
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
题目链接
求解:为什么用val不可以记录树的高度?
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
题目链接
# -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def getDepth(self , Root): if Root == None: return 0; lDepth = self.getDepth(Root.left); rDepth = self.getDepth(Root.right); return max(lDepth , rDepth) + 1; def IsBalanced_Solution(self, pRoot): if not pRoot: return True lDepth = self.getDepth(pRoot.left); rDepth = self.getDepth(pRoot.right); diff = lDepth - rDepth; if diff < -1 or diff > 1: return False; return self.IsBalanced_Solution(pRoot.left) and self.IsBalanced_Solution(pRoot.right);
求解:为什么用val不可以记录树的高度?
相关文章推荐
- 斐波那契数列[剑指offer]之python实现
- 数值的整数次方[剑指offer]之python实现
- 剑指offer之平衡二叉树(Python)
- 剑指offer 用两个栈实现队列 @python
- 剑指offer-Python实现
- 跳台阶剑指offer]之python实现
- 剑指offer中把数组排成最小数之归并排序实现(python 3.5.2)(附上归并和不开新数组的快排)
- [转]二进制中1的个数[剑指offer]之python实现
- 剑指offer-8- Python实现旋转数组的最小数
- 剑指Offer-面试题22 栈的压入、弹出序列(python实现)
- 矩形覆盖[剑指offer]之python实现
- 树的子结构[剑指offer]之python实现
- 链表中倒数第k个结点[剑指offer]之python实现
- 《苦练算法》-剑指Offer- 五、 用两个栈实现队列 -python编写
- 有关于剑指offer中某些题的python实现
- 二进制中1的个数[剑指offer]之python实现
- [剑指offer]之python实现总结[持续更新中]
- 合并两个排序的链表[剑指offer]之python实现
- Python剑指offer之两个栈实现一个队列-两个队列实现一个栈
- 剑指offer python实现 66道算法题