代码随想录day19(2)二叉树:二叉树的最大深度(leetcode104)

题目要求:求出二叉树的最大深度

思路:首先要区分二叉树的高度与深度。二叉树的高度是任一结点到叶子结点的距离,而二叉树的深度指的是任一节点到根节点的距离(从1开始)。所以求高度使用后序遍历(从下往上,根结点处理在最后,知道孩子高度再加1),而求深度使用前序遍历。而根节点的高度也就是二叉树的最大深度!使用层序也可以,遍历层数即为二叉树最大深度。

leetcode实战:

代码实现:

后序:

先序:(突出深度回溯)

迭代法层序:(记录遍历层数即可)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自动化测试系列-Selenium三种等待详解

第一种也是最简单粗暴的一种办法就是强制等待sleep(time),强制让程序等time秒时间,不管程序能不能跟上速度,还是已经提前到了,都必须等time时长。 如下代码案例所示: from selenium import webdriverfrom time import sleepdriv…

软件测试Pytest实现接口自动化应该如何在用例执行后打印日志到日志目录生成日志文件?

Pytest可以使用内置的logging模块来实现接口自动化测试用例执行后打印日志到日志目录以生成日志文件。以下是实现步骤: 1、在pytest配置文件(conftest.py)中,定义一个日志输出路径,并设置logging模块。 import loggi…

【PLC】现场总线和工业以太网汇总

1、 现场总线 1.1 什么是现场总线 1)非专业描述: 如下图:“人机界面”一般通过以太网连接“控制器(PLC)”,“控制器(PLC)”通过 “现场总线”和现场设备连接。 2)专业描述(维基百科) 现场总线…

「建议收藏」常用adb操作命令详解

1、查看当前运行的所有设备 adb devices 返回当前设备列表 这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示 2、安装软件 adb install 验证是否成功。需要到设备的 data/app路径下查看是否有该包名 这个命令将指定的apk文件安装到设备上 …

案例分析篇00-【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例分析篇-先导篇)

专栏系列文章: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html 案例分析篇01:软件架构设计考点架构风格及质量属性 案例分析篇11:UML设计考…

Windows系统安装OpenSSH结合VS Code远程ssh连接Ubuntu【内网穿透】

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-mEkKUraSFHLKkzIj {font-family:"trebuchet ms",verdana,arial,sans-serif;f…

MySQL 数据库 下载地址 国内阿里云站点

https://mirrors.aliyun.com/mysql/ 以 MySQL 5.7 为例 https://mirrors.aliyun.com/mysql/MySQL-5.7/ 各个版本很齐全,在这里下载要比去 MySQL 官网下载快很多,安逸得很 那我们下期见,拜拜!

什么洗地机值得推荐?旗舰洗地机希亦、追觅、西屋、海尔实际表现如何?

洗地机这个产品相信大家已经不陌生了,它集合吸尘器和电动扫地拖把的功能,轻轻推拉便可以解决地面上的赃物,且不用我们手动清洗滚刷,深得家务人的喜爱,可是,当我们真正要去选购的时候,还是很纠结…

linux统计一个文件有多少行

第一种方法 cat -n anaconda-ks.cfg(文件) 第二种 wc 文件名 wc是 words count之意

Linux系统安全②SNAT与DNAT

一.SNAT 1.定义 利用SNAT技术实现2台私网地址都可以访问公网 2.实验环境准备 (1)三台服务器:PC1客户端、PC2网关、PC3服务端。 (2)硬件要求:PC1和PC3均只需一块网卡、PC2需要2块网卡 (3&a…

[linux][调度] linux 下如何观察线程调度延时 ?

1 什么是调度延时 在实际业务中,大多数情况下,线程都不是一直占着 cpu 在运行的。在读写文件,收发网络数据时,可能会阻塞,阻塞就会进入睡眠,触发调度;在线程等待锁的时候,也可能会触…

ELK 安装部署

文章目录 1.日志收集规划2.Elasticsearch部署2.1.Elasticsearch安装2.2.Elasticsearch-head安装2.3.Elasticsearch设置分片数2.4.elasticsearch健康检查 3.Kibana部署4.Logstash部署5.Filebeat部署 开源中间件 # Elastic Stackhttps://iothub.org.cn/docs/middleware/ https:/…

【Shiro反序列化漏洞】shiro550流程分析

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收…

续篇:展开聊下 state 与 渲染树中位置的关系

🐾 上篇的结尾处,提到了 > 为了提升性能, React 仅在渲染之间 存在差异 时才会更改 DOM 节点。 本篇,✓ 🇨🇳 展开聊下 state 与 渲染树中位置的关系 📢📢📢 状态与…

Java学习笔记之IDEA的安装与下载以及相关配置

1 IDEA概述 ​IDEA全称IntelliJ IDEA,是用于Java语言开发的集成环境,它是业界公认的目前用于Java程序开发最好的工具。 集成环境: ​把代码编写,编译,执行,调试等多种功能综合到一起的开发工具。 2 IDEA…

【视觉三维重建】【论文笔记】Deblurring 3D Gaussian Splatting

去模糊的3D高斯泼溅,看Demo比3D高斯更加精细,对场景物体细节的还原度更高,[官网](https://benhenryl.github.io/Deblurring-3D-Gaussian-Splatting/) 背景技术 Volumetric rendering-based nerual fields&#xff1a…

GZ083 产品艺术设计赛题第五套

全国职业院校技能大赛 产品艺术设计赛项赛题五 赛项名称 产品艺术设计 英语名称 Product Art Design 赛项编号 GZ083 归属产业 数字产业 任务名称 “境•享”家用台式加湿器设计 赛项组别 中职组 高职组 □学生组 □教师组 □师生联队试点赛项 R学生组 □教师组…

【线程】封装 | 安全 | 互斥

线程封装(面向对象) 1.组件式的封装出一个线程类(像C11线程库那样去管理线程) 我们并不想暴露出线程创建,终止,等待,分离,获取线程id等POSIX线程库的接口,我们也想像C1…

机器学习模型—K最近邻(KNN)

机器学习模型—K最近邻(KNN) K最近邻 (KNN) 算法是一种用于解决分类和回归问题的监督机器学习方法。Evelyn Fix 和 Joseph Hodges 于 1951 年开发了该算法,随后 Thomas Cover 对其进行了扩展。本文探讨了 KNN 算法的基本原理、工作原理和实现。 虽然 k近邻算法 (KNN) 可以用…

基于Pytest+Allure+Excel的接口自动化测试框架

1. Allure 简介 简介 Allure 框架是一个灵活的、轻量级的、支持多语言的测试报告工具,它不仅以 Web 的方式展示了简介的测试结果,而且允许参与开发过程的每个人可以从日常执行的测试中,最大限度地提取有用信息。 Allure 是由 Java 语言开发…