Python3实现二叉树的最大深度


Posted in Python onSeptember 30, 2019

问题提出:

给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

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

解决思路:递归法求解。从根结点向下遍历,每遍历到子节点depth+1。

代码实现( ̄? ̄):

# Definition for a binary tree node.
# class TreeNode:
#   def __init__(self, x):
#     self.val = x
#     self.left = None
#     self.right = None

class Solution:
  def maxDepth(self, root: TreeNode) -> int:
    if root==None:
      return 0
    count = self.getDepth(root,0)
    return count
  
  def getDepth(self,node,count):
    if node!=None:
      num1 = self.getDepth(node.left,count+1);
      num2 = self.getDepth(node.right,count+1);
      num = num1 if num1>num2 else num2
      return num
    else:
      return count

时间和空间消耗:

Python3实现二叉树的最大深度

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python同时给两个收件人发送邮件的方法
Apr 30 Python
在Python的Django框架中simple-todo工具的简单使用
May 30 Python
python实现读取并显示图片的两种方法
Jan 13 Python
Python时间戳使用和相互转换详解
Dec 11 Python
python实现ID3决策树算法
Aug 29 Python
Python分割指定页数的pdf文件方法
Oct 26 Python
Python使用pandas对数据进行差分运算的方法
Dec 22 Python
django模板加载静态文件的方法步骤
Mar 01 Python
DJango的创建和使用详解(默认数据库sqlite3)
Nov 18 Python
使用Python将图片转正方形的两种方法实例代码详解
Apr 29 Python
keras.utils.to_categorical和one hot格式解析
Jul 02 Python
关于Python3爬虫利器Appium的安装步骤
Jul 29 Python
给我一面国旗 python帮你实现
Sep 30 #Python
python的mysql数据库建立表与插入数据操作示例
Sep 30 #Python
感知器基础原理及python实现过程详解
Sep 30 #Python
基于python的BP神经网络及异或实现过程解析
Sep 30 #Python
Window10下python3.7 安装与卸载教程图解
Sep 30 #Python
Python检查图片是否损坏及图片类型是否正确过程详解
Sep 30 #Python
Python3 合并二叉树的实现
Sep 30 #Python
You might like
destoon常用的安全设置概述
2014/06/21 PHP
php打乱数组二维数组多维数组的简单实例
2016/06/17 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
2016/09/22 PHP
JavaScript的面向对象(一)
2006/11/09 Javascript
JavaScript 学习 - 提高篇
2007/02/02 Javascript
jQuery中读取json文件示例代码
2013/05/10 Javascript
JavaScript闭包详解
2015/02/02 Javascript
jQuery.datatables.js插件用法及api实例详解
2016/10/28 Javascript
Bootstrap 3 进度条的实现
2017/02/22 Javascript
webpack打包后直接访问页面图片路径错误的解决方法
2017/06/17 Javascript
详解如何探测小程序返回到webview页面
2019/05/14 Javascript
vue 解决移动端弹出键盘导致页面fixed布局错乱的问题
2019/11/06 Javascript
python基于queue和threading实现多线程下载实例
2014/10/08 Python
Python网络爬虫实例讲解
2016/04/28 Python
Python 基础教程之str和repr的详解
2017/08/20 Python
python cx_Oracle的基础使用方法(连接和增删改查)
2017/11/19 Python
Python读写docx文件的方法
2018/05/08 Python
使用Python创建简单的HTTP服务器的方法步骤
2019/04/26 Python
为什么你还不懂得怎么使用Python协程
2019/05/13 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
python中的列表与元组的使用
2019/08/08 Python
python 使用多线程创建一个Buffer缓存器的实现思路
2020/07/02 Python
瑞士网球商店:Tennis-Point
2020/03/12 全球购物
vue项目实现分页效果
2021/03/24 Vue.js
个人实用简单的自我评价
2013/10/19 职场文书
销售人员自我评价
2014/02/01 职场文书
调解员先进事迹材料
2014/02/07 职场文书
2014信息公开实施方案
2014/02/22 职场文书
卖车协议书
2014/04/21 职场文书
项目建议书范文
2014/05/12 职场文书
2014年度考核工作总结
2014/12/24 职场文书
2015年财务科工作总结范文
2015/05/13 职场文书
2016年寒假社会实践活动心得体会
2015/10/09 职场文书
医院岗前培训心得体会
2016/01/08 职场文书
涨工资申请书应该怎么写?
2019/07/08 职场文书
Win11无法安装更新补丁KB3045316怎么办 附KB3045316补丁修复教程
2022/08/14 数码科技