leetcode-104. 二叉树的最大深度

news2024/11/25 16:37:07

题目描述

给定一个二叉树 root ,返回其最大深度。

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

示例 1:

输入:root = [3,9,20,null,null,15,7]
输出:3

示例 2:

输入:root = [1,null,2]
输出:2

思路

剑指offer二叉树的深度-CSDN博客

1)递归地从上向下走

2)遍历到底部(叶子结点)时,当前层的长度为1

3)再逐渐往回返,每个当前层的长度为左右子树长度的较大值+1

4)如果当前没节点,返回0

# Definition for a binary tree node.
class TreeNode(object):
    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right
class Solution(object):
    def maxDepth(self, root):
        """
        :type root: TreeNode
        :rtype: int
        """
        if not root:
            return 0
        ldepth = self.maxDepth(root.left)
        rdepth = self.maxDepth(root.right)
        return max(ldepth,rdepth)+1

if __name__=='__main__':
    s=Solution()
    #构建二叉树
    root=TreeNode(1)
    node1=TreeNode(2)
    node2=TreeNode(3)
    node3=TreeNode(4)
    node4=TreeNode(5)
    node5=TreeNode(6)
    node6=TreeNode(7)
    root.left=node1
    root.right=node2
    node1.left=node3
    node1.right=node4
    node2.right=node5
    node4.left=node6
    node3.left=node3.right=node6.left=node6.right=node4.right=node2.left=node5.left=node5.right=None
    #调用函数
    print(s.maxDepth(root))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1952553.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

24款美规奔驰GLS450更换中规高配主机系统,提升车辆功能和使用体验

平行进口奔驰GLS450 语音小助手要说英语 十分的麻烦 而且也没有导航,原厂记录仪也减少了 很不方便 那要怎么解决呢 往下看 其实很简单,我们只需要更换一台中规的新主机就可以实现以下功能: ①中国地图 ②语音小助手(你好&#…

C++编译jsoncpp库

下载https://github.com/hailong0715/jsoncpp/tree/master windows编译工程 jsoncpp-master\makefiles\vs71 1.msvcprtd.lib(MSVCP140D.dll) : error LNK2005 解决办法: (1).工程(Project)->属性(Properties)->配置属性(Configuration Properties)->c/c-…

OZON打开哈萨克斯坦市场,OZON测试开通哈萨克斯坦市场中国产品

在全球化日益深入的今天,跨境电商成为了连接不同国家和地区消费者的重要桥梁。2024年7月26日,Ozon Global宣布了一项重大扩展计划,正式将中国卖家的销售版图拓展至哈萨克斯坦市场,为中国企业打开了新的增长机遇之门。 OZON哈萨克斯…

2024AGI面试官 常问的问题以及答案(附最新的AI大模型算法面试大厂必考100题 )

前言 在这个人工智能飞速发展的时代,AI大模型已经成为各行各业创新与变革的重要驱动力。从自动驾驶、医疗诊断到金融分析,AI大模型的应用场景日益广泛,为我们的生活带来了前所未有的便捷。作为一名程序员,了解并掌握AI大模型的相…

移植QT项目出现无法找到 v143 的生成工具(平台工具集 =“v143”)。若要使用 v143 生成工具进行生成,请安装 v143 生成工具。

由于使用的是visual studio2019,在扩展里没找到msvc v143的工具集,这时候可能需要升级下版本,比如换用visual studio2022 或者在三个地方更改所使用的工具集,一般来讲只要v143编译能通过的v142编译也能通过,所以换用v…

ctfshow-web入门-php特性(web147-web150_plus)

目录 1、web147 2、web148 3、web149 4、web150 5、web150_plus 1、web147 ^:匹配字符串的开头。 $:匹配字符串的结尾,确保整个字符串符合规则。 [a-z0-9_]:表示允许小写字母、数字和下划线。 *:匹配零个或多个前面…

c++入门----类与对象(中)

OK呀,家人们承接上文,当大家看过鄙人的上一篇博客后,我相信大家对我们的c已经有一点印象了。那么我们现在趁热打铁再深入的学习c入门的一些知识。 类的默认成员函数 首先我们学习的是我们的默认函数。不知道大家刚读这个名词是什么反应。默认…

一下午连续故障两次,谁把我们接口堵死了?!

唉。。。 大家好,我是程序员鱼皮。又来跟着鱼皮学习线上事故的处理经验了喔! 事故现场 周一下午,我们的 编程导航网站 连续出现了两次故障,每次持续半小时左右,现象是用户无法正常加载网站,一直转圈圈。 …

2020 CSP第一题:数字拆分

2020 CSP第一题:数字拆分 示例1 输入 6 输出 4 2 题意: 实质就是将一个偶数转化为二进制数,然后分别用十进制逆序输出每一项 数据约束: n最大在10的七次方左右,int类型够了,十进制转化为二进制后&#x…

重生之“我打数据结构,真的假的?”--3.栈和队列

1.栈和队列的基本概念 1.1 栈 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则…

鸿蒙开发——axios封装请求、拦截器

描述:接口用的是PHP,框架TP5 源码地址 链接:https://pan.quark.cn/s/a610610ca406 提取码:rbYX 请求登录 HttpUtil HttpApi 使用方法

开源模型应用落地-LangChain实用小技巧-ChatPromptTemplate的partial方法(一)

一、前言 在当今的自然语言处理领域,LangChain 框架因其强大的功能和灵活性而备受关注。掌握一些实用的小技巧,能够让您在使用 LangChain 框架时更加得心应手,从而更高效地开发出优质的自然语言处理应用。 二、术语 2.1.LangChain 是一个全方…

TCP/IP协议(全的一b)应用层,数据链层,传输层,网络层,以及面试题

目录 TCP/IP协议介绍 协议是什么,有什么作用? 网络协议为什么要分层 TCP/IP五层网络协议每层的作用 应⽤层 DNS的作用及原理 DNS工作流程 数据链路层 以太⽹帧格式 MAC地址的作用 ARP协议的作⽤ ARP协议的工作流程 MTU以及MTU对 IP / UD / TCP 协议的影响 传输层…

MySQL(持续更新中)

第01章_数据库概述 1. 数据库与数据库管理系统 1.1 数据库相关概念 DB:数据库(Database)即存储数据的“仓库”,其本质是一个文件系统。它保存了一系列有组织的数据DBMS:数据库管理系统(Database Manageme…

2024年【广东省安全员B证第四批(项目负责人)】考试报名及广东省安全员B证第四批(项目负责人)模拟考试

题库来源:安全生产模拟考试一点通公众号小程序 广东省安全员B证第四批(项目负责人)考试报名根据新广东省安全员B证第四批(项目负责人)考试大纲要求,安全生产模拟考试一点通将广东省安全员B证第四批&#x…

AFast and Accurate Dependency Parser using Neural Networks论文笔记

基本信息 作者D Chendoi发表时间2014期刊EMNLP网址https://emnlp2014.org/papers/pdf/EMNLP2014082.pdf 研究背景 1. What’s known 既往研究已证实 传统的dp方法依存句法分析特征向量稀疏,特征向量泛化能力差,特征计算消耗大,并且是人工构…

UE5 with plugins AirSim in Windows ROS in WSL2-Ubuntu 20.04配置过程记录

一、概述 因为需要使用到Windows系统下的UE5和插件AirSIm进行研究,所以在Windows环境下进行配置。但又因为需要使用到ros进行操作,所以,在通过对诸多资源进行考察过后,因为UE5plugins AirSim已经配置成功。只需要考虑跟ROS的通信以…

构建查询洞察 UI

本文字数:2631;估计阅读时间:7 分钟 作者:Bucky Schwarz 本文在公众号【ClickHouseInc】首发 我们最近发布了 Query Insights 的初步实现,为 ClickHouse Cloud 用户提供了一种便捷的方法来查看和解释查询日志。该功能对…

CSS 两种盒模型 box-sizing content-box 和 border-box

文章目录 Intro谨记box-sizing 两个不同赋值的效果区别?宽高的数值计算标准盒模型 box-sizing: content-box; box-sizing 属性的全局设置 Intro 先问一句:box-sizing 和它的两个属性值是做什么用的?以前我并不知道它的存在,也做…

GeneCompass:跨物种大模型用于破解基因调控机理

GeneCompass是第一个基于知识的跨物种基础模型,该模型预先训练了来自人类和小鼠的超过1.2亿个单细胞转录组。在预训练过程中,GeneCompass有效整合了四种生物先验知识,以自监督的方式增强了对基因调控机制的理解。对多个下游任务进行微调&…