+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2019-07(1)

2019-08(109)

2019-09(120)

2019-10(17)

2019-11(1)

leetcode--二叉树的深度,判断是否是平衡二叉树(递归)

发布于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黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

7 0
收藏该文
已收藏

评论内容:(最多支持255个字符)