剑指offer面试题55 - I. 二叉树的深度(DFS)(递归)
题目描述
输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。
思路
详见链接
代码
class Solution:def maxDepth(self, root:TreeNode)->int:if not root: return 0return max(self.maxDepth(root.left),self.maxDepth(root.right)) + 1
复杂度
时间复杂度 O(N) : N 为树的节点数量,计算树的深度需要遍历所有节点。
空间复杂度 O(N) : 最差情况下(当树退化为链表时),递归深度可达到 N
剑指offer面试题55 - I. 二叉树的深度(DFS)(递归)相关推荐
- 剑指offer——面试题39:二叉树的深度
剑指offer--面试题39:二叉树的深度 20180906整理 Solution1: 再本题中树的定义:若二叉树只有一个根节点,则此二叉树的深度为1. 迭代法,哈哈哈 /* struct TreeN ...
- 剑指offer——面试题58:二叉树的下一个结点
剑指offer--面试题58:二叉树的下一个结点 这个题要认真分析一下... Solution1: 自己想出来的破算法 /* struct TreeLinkNode {int val;struct T ...
- 剑指offer——面试题55:字符流中第一个不重复的字符
剑指offer--面试题55:字符流中第一个不重复的字符 Solution1: 当年第一次做这个题的做法 对此题最大的感想是: 1)区分deque(双端队列)和queue(队列): 2)要熟悉queu ...
- 【重点】剑指offer——面试题25:二叉树中和为某一值的路径
剑指offer--面试题25:二叉树中和为某一值的路径 参考网址:https://www.nowcoder.com/profile/5488508/codeBookDetail?submissionI ...
- 【递归】剑指offer——面试题19:二叉树的镜像
剑指offer--面试题19:二叉树的镜像 Solution1: 递归解法,牢记! 根结点为空的情况容易漏,注意! /* struct TreeNode {int val;struct TreeNod ...
- 剑指offer面试题6 重建二叉树(java)
注:(1)java中树的构建 (2)构建子树时可以直接利用Arrays.copyOfRange(preorder, from, to),这个方法是左开右闭的 1 package com.xsf.Sor ...
- [剑指offer]面试题19:二叉树的镜像
面试题19:二叉树的镜像 题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像. 二叉树结点的定义如下: struct BinaryTreeNode {int value;BinaryTreeNo ...
- 剑指offer系列之三十七:二叉树的深度
题目描述 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. 有了前面寻找二叉树路径的基础之后,解决这题应该不难.根据书上的思路, ...
- 剑指Offer - 面试题7. 重建二叉树(递归)
1. 题目 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字. 例如,给出前序遍历 preorder = [3,9,20,15,7] 中序遍 ...
最新文章
- 如何向非技术人员解释“稀疏傅里叶变换”算法?
- 要管理此计算机上的用户账户,win10用户账户控制 你要允许此应用 若要继续请输入管理员密码...
- 论文阅读:Multi-Scale Triplet CNN for Person Re-Identification
- C语言setjmp函数使用
- mysql5.7 读写分离_mysql5.7的主从复制+读写分离
- Full_of_Boys训练1总结
- 将Websocket与Spring Framework和Vuejs结合使用
- 深入了解OWIN Katana
- POJ NOI MATH-7832 最接近的分数
- 三、JAVA流程控制(选择结构if、while、for、switch)
- 我的世界服务器物品图标闪,我的世界用资源包修改闪烁标的方法分享
- C#多线程之解决多线程编程中大并发数等待唤醒的问题
- “绿水青山就是金山银山”
- 如何选择适合你的兴趣爱好(十五),油画
- 这个系统能读懂猪的6种情绪
- 超有爱的并查集 6666
- [Win Desktop] Windows 桌面应用推荐一
- H5 开发内嵌页面跨域问题
- (二)ArcGIS JS 加载动态地图服务
- 【RTX操作系统教程】第3章 初学RTX操作系统准备工作
热门文章
- 大数组情况下栈溢出解决
- matlab遗传算法拟合,基于遗传算法的数据拟合在MATLAB环境中的实现
- java线程池需要shutdown吗_公用线程池要不要shutdown?
- redis.conf
- ios view 切上部分圆角_唯一可行的 iOS 架构
- PHP数组的使用方法小结
- Oracle DataBase单实例使用ASM案例(2)--Oracle 11g之环境准备
- GDAL2.x与1.x的主要变化比较(以C++为例说明)
- iOS程序员必须知道的Android要点
- android 蓝牙通信编程