一、二叉树的深度

题目:

给定一个二叉树,找出其最大深度。

二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

说明: 叶子节点是指没有子节点的节点。

示例:
给定二叉树 [3,9,20,null,null,15,7]

    3
/ \
9 20
/ \
15 7

返回它的最大深度 3 。

思路1:递归

  边界:一旦root == None则返回深度为0。否则进入递归子问题。

  递归子问题:max(左树深度,右树深度)+ 1

  

def dfs(root):
#边界
if not root:
return 0
#递归子问题
else:
left = dfs(root.left)
right = dfs(root.right)
return max(left,right)+1 class TreeNode(object):
def __init__(self, x):
self.val = x
self.left = None
self.right = None
root = TreeNode(1)
root.left = TreeNode(2)
root.right = TreeNode(3)
root.left.left = TreeNode(4)
root.left.left.right = TreeNode(5)
height = dfs(root)

思路2:深度遍历dfs

  边界:一旦root == None则记录深度大小tmp,判断是否大于res(结果)。否则进入递归子问题。

  递归子问题:将当前深度tmp + 1,传入左子树和右子树。

代码:

#全局变量
res = 0 def dfs(root,tmp):
global res
##边界
if not root:
res = max(res,tmp)
return
###递归子问题
else:
dfs(root.left,tmp+1)
dfs(root.right,tmp+1) class TreeNode(object):
def __init__(self, x):
self.val = x
self.left = None
self.right = None
root = TreeNode(1)
root.left = TreeNode(2)
root.right = TreeNode(3)
root.left.left = TreeNode(4)
root.left.left.right = TreeNode(5) dfs(root,0)
print(res)

二、

  

  

最新文章

  1. Thinkphp单字母快捷键
  2. [keepalved]主从上同时出现VIP,无法消失情况
  3. Eclipse 项目红色叹号:Build Path Problem
  4. [转]https方式使用git保存密码的方式
  5. ImportError: No module named pysqlite2 --安装pysqlite
  6. android 16 带返回值的activity
  7. 使用 EasyUI 创建左侧导航菜单
  8. Java中的String[] args
  9. Eclipse中配置weka,以及添加算法
  10. 充电-ios(未完更新中...
  11. google ip地址
  12. Servlet--传参和接参
  13. iOS开发之emoji处理
  14. 008_Node中的require和import
  15. Python继承、方法重写
  16. [UWP 自定义控件]了解模板化控件(8):ItemsControl
  17. 根据条件返回相应值 decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)
  18. 一道面试题 包含了new的细节 和运算符的优先级 还有属性访问机制
  19. django-权限验证场景
  20. day 27 Python中进程的操作

热门文章

  1. Spring MVC-集成(Integration)-生成XML示例(转载实践)
  2. oracle 内部机制-DTRACE
  3. php 数组 array()
  4. 读写锁(read-write lock)机制-----多线程同步问题的解决
  5. C++对象模型——关键词所带来的差异(第一章)
  6. oracle强化练习之单行函数
  7. NoSQL数据库:Redis内存使用优化与存储
  8. Codeforces Round #332 (Div. 2)C. Day at the Beach 树状数组
  9. spring:按照Bean的名称自动装配User
  10. tp的redis驱动