LeetCode平衡二叉树(Python)

题目 解题思路 很容易想到用递归,左右子树的高度差即最大深度差,再写一个返回最大深度的函数即可: 执行结果为: 但是这样的话最坏情况时间复杂度已经达到O(n2)了,主要是每一个节点都要查询左右子树的最大深度,即递归调用isBalanced()时每一个isBalanced()函数中都包含两个完整的maxdepth()的递归,所以同一个节点会被maxdepth调用很多次,有重复计算,所以应该针对这一点
相关文章
相关标签/搜索