【每日一算法】二叉树的最大深度
微信改版,加星标不迷路!
每日一算法-二叉树的最大深度
作者:阿广
阅读目录
? 题目
? 解析
? 完整代码
1 题目
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7]
,
3 / \ 9 20 / \ 15 7
返回它的最大深度 3 。
2 解析
直观的方法是通过递归来解决问题。在这里,我们演示了 DFS(深度优先搜索)策略的示例。方便快捷,直接使用下图进行解释!
3 完整代码
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
int maxDept = 0;
int dept = 1;
int maxDepth(TreeNode* root) {
if(root == NULL){
return 0;
}else{
int leftHeight = maxDepth(root->left);
int rightHeight = maxDepth(root->right);
return leftHeight>rightHeight ? leftHeight + 1 : rightHeight + 1;
}
}
};
4 结果
今日问题
如何看待互联网寒冬?我们应该怎么防御?
打卡格式:打卡第n天,答:...
为什么打卡?戳下面就知道了!
猛
戳
这
儿
21/天/养/一/个/好/习/惯
【每日一算法】二叉树的最大深度相关推荐
- 常考数据结构与算法:二叉树的最大深度
题目描述 求给定二叉树的最大深度, 最大深度是指树的根结点到最远叶子结点的最长路径上结点的数量. class TreeNode {int val;TreeNode left;TreeNode righ ...
- 算法 --- 二叉树的最大深度
思路: 1.二叉树的深度,等于Max(左子树最大深度,右子树最大深度) + 1 2.节点不存在时,此时的深度为0 3.当节点存在,左右子树不存在时(此时为叶子节点) 返回1 /*** Definiti ...
- 【每日一算法】二叉树的层次遍历 II
每日一算法-二叉树的层次遍历 II 题目 给定一个二叉树,返回其节点值自底向上的层次遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如: 给定二叉树 [3,9,20,null,n ...
- 【每日一算法】二叉树的最小深度
每日一算法-二叉树的最小深度 题目 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,2 ...
- 【每日一算法】二叉树中所有距离为 K 的结点
微信改版,加星标不迷路! 每日一算法-二叉树中所有距离为K的节点 给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 K . 返回到目标结点 target 距离为 K ...
- 【每日一算法】对称二叉树
每日一算法-对称二叉树 题目 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1 / \ 2 2 / \ / \ 3 4 4 3 但是 ...
- 二叉树常见算法题(单值二叉树、二叉树的最大深度、反转二叉树、判断两颗二叉树是否相同、对称二叉树、一颗二叉树是否是另一颗二叉树的子树)
这里的代码都是递归实现的,再强调下二叉树的概念,二叉树的构成有两种情况: 1.空树 2.根节点 + 左子树 + 右子树(这里的左子树和右子树又是一颗二叉树) 可以看出二叉树就是递归定义的,下面的算法题 ...
- 算法_二叉树_二叉树的最大深度
文章目录 二叉树的最大深度 1.两种解法 递归法--后序遍历 迭代法--层序遍历 2.总结 推荐题目 二叉树的最大深度 leetcode链接 1.两种解法 递归法–后序遍历 采用后序遍历,先处理左孩子 ...
- 【每日一算法】平衡二叉树
微信改版,加星标不迷路! 每日一算法-搜索插入位置 作者:阿广 阅读目录 ? 题目 ? 解析 ? 完整代码 1 题目 给定一个二叉树,判断它是否是高度平衡的二叉树. 本题中,一棵高度平衡二叉树定义为: ...
最新文章
- pip install 豆瓣源、清华源、阿里源、中国科技大学源
- subprocess installed post-installation script returned error exit status 1
- ML之RF:基于Matlab利用RF算法实现根据乳腺肿瘤特征向量高精度(better)预测肿瘤的是恶性还是良性
- hdu 3836 Equivalent Sets
- linux创建脚本文件auto,linux 自动化部署脚本
- c++ 删除二叉树的子树_数据结构—树|二叉树|前序遍历、中序遍历、后序遍历【图解实现】...
- Android 系统(234)---Android 代号、标签和版本号
- L1-026 I Love GPLT
- springboot controller调用service_秀!这款工具让SpringBoot不再需要Controller、Service、DAO、Mapper!...
- java hashmap 无序_Map的有序和无序实现类,与Map的排序
- Xcode :error: linker command failed with exit code 1(use -v to see invocation) 或 libstdc++.6.0缺失问题
- 经典坦克大战——C++实现(附源码)
- 广义瑞利商_LDA里的瑞利商和广义瑞利商
- 安卓机自动肝手游脚本
- 域名注册、域名实名认证、域名解析流程详解
- 显示器还有卖的吗_显示器不够好,你确定修的片能好看? | 摄影早自习第1365天...
- ubuntu18.04应用图标怎么放到桌面
- 三维建模软件查看器Rocky-view(免费)
- hi3559Av100 行车记录仪系统框图
- C语言示例,三个骰子