暂无分类
暂无标签
发布于2020-06-13 19:18 阅读(909) 评论(0) 点赞(7) 收藏(0)
0
1
2
3
4
5
题目来源:链接
题目描述:
输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。
代码实现:
def depth(root):
if not root:
return 0
return max(depth(root.left),depth(root.right))+1
解题思路:
简单的递归求树深,注意递归函数首先要确定递归结束条件
题目来源:链接
题目描述:
输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。
代码实现:
def isBalance(root):
if not root:
return True
return abs(depth(root.left)-depth(root.right))<=1 and\
isBalance(root.left) and isBalance(root.right)
def depth(root):
if not root:
return 0
return max(depth(root.left),depth(root.right))+1
解题思路:
注意对当前节点求了树深并且判断是否平衡之后还需要递归到子树中求树深且判断是否平衡
要确保每个子树都是平衡的
原文链接:https://blog.csdn.net/HWQlet/article/details/106696016
0
1
2
3
4
5
6
7
8
作者:你太美丽
链接: https://www.pythonheidong.com/blog/article/415018/18b0c35b667c98824b84/
来源: python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
Copyright © 2018-2019 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系z452as@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!