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专用方法与迭代机制实例分析
Sep 15 Python
详解使用pymysql在python中对mysql的增删改查操作(综合)
Jan 18 Python
Python之str操作方法(详解)
Jun 19 Python
Python基于高斯消元法计算线性方程组示例
Jan 17 Python
使用Python处理BAM的方法
Sep 28 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
Dec 17 Python
Apache,wsgi,django 程序部署配置方法详解
Jul 01 Python
Django的Modelforms用法简介
Jul 27 Python
python虚拟环境完美部署教程
Aug 06 Python
python基于opencv检测程序运行效率
Dec 28 Python
tensorflow中tf.slice和tf.gather切片函数的使用
Jan 19 Python
keras 两种训练模型方式详解fit和fit_generator(节省内存)
Jul 03 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
php学习笔记之 函数声明(二)
2011/06/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
2014/06/30 PHP
php封装的mongodb操作类代码
2017/08/06 PHP
php5对象复制、clone、浅复制与深复制实例详解
2019/08/14 PHP
IE autocomplete internet explorer's autocomplete
2007/06/30 Javascript
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
JS正则验证邮箱的格式详细介绍
2013/11/19 Javascript
js的toUpperCase方法用法实例
2015/01/27 Javascript
JQuery给网页更换皮肤的方法
2015/05/30 Javascript
详解JavaScript逻辑And运算符
2015/12/04 Javascript
AngularJS基础 ng-mousemove 指令简单示例
2016/08/02 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
分享19个JavaScript 有用的简写写法
2017/07/07 Javascript
快速解决brew安装特定版本flow的问题
2018/05/17 Javascript
create-react-app安装出错问题解决方法
2018/09/04 Javascript
vue中如何实现后台管理系统的权限控制的方法步骤
2019/09/05 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
2019/12/06 Javascript
js中的面向对象之对象常见创建方法详解
2019/12/16 Javascript
[03:20]2015国际邀请赛全明星表演赛
2015/08/08 DOTA
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
查看Python安装路径以及安装包路径小技巧
2015/04/28 Python
django rest framework 数据的查找、过滤、排序的示例
2018/06/25 Python
Pandas将列表(List)转换为数据框(Dataframe)
2020/04/24 Python
如何安装并在pycharm使用selenium的方法
2020/04/30 Python
HTML5 解析规则分析
2009/08/14 HTML / CSS
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
物业管理应届生求职信
2013/10/28 职场文书
体育运动口号
2014/06/09 职场文书
超市开业庆典活动策划方案
2014/09/15 职场文书
公安派出所所长四风问题个人对照检查材料
2014/10/04 职场文书
道路交通事故赔偿协议书
2014/10/24 职场文书
机关干部四风问题自我剖析及整改措施
2014/10/26 职场文书
辩论赛新闻稿
2015/07/17 职场文书
SQL Server数据定义——模式与基本表操作
2021/04/05 SQL Server
纯CSS实现hover图片pop-out弹出效果的实例代码
2021/04/16 HTML / CSS
MySQL派生表联表查询实战过程
2022/03/20 MySQL