Leetcode|二叉树的属性|104. 二叉树的最大深度

leetcode104(二叉树的最大深度) 数据结构课上刷的,我感觉我开始对递归这个概念开始比较清晰了。 题目如下 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 首先我实现了两种做法,都是DFS,一... 阅读详情

在这里插入图片描述

1 DFS

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    int maxDepth(TreeNode* root) {
        if (!root) return 0;
        int max_depth = max(maxDepth(root->left), maxDepth(root->right));
        return max_depth + 1;
    }
};

在这里插入图片描述

2 BFS

class Solution {
public:
    int maxDepth(TreeNode* root) {
        if (!root) return 0;
        queue<TreeNode*> q;
        q.push(root);
        int depth = 0;
        while (!q.empty()) {
            int sz = q.size();
            for (int i=0;i < sz;i++) {
                TreeNode* e_ptr = q.front(); q.pop();
                if (e_ptr->left) q.push(e_ptr->left);
                if (e_ptr->right) q.push(e_ptr->right);
            }
            depth++;
        }
        return depth;
    }
};

在这里插入图片描述

LeetCode——104,二叉树的最大深度 /** * \* Created: liuhuichao * \* Date: 2019/8/22 * \* Time: 35:25 AM * \* Description: 二叉树的最大深度 * \ * 给定一个二叉树,找出其最大深度。 * <p> * 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 * <p> * 说明: 叶子节... 阅读详情

相关推荐

rv1126平台spi屏调试

st7789v2 i2c调试

zuoanyouzhuan_的博客 2038

刷题-Leetcode-104. 二叉树的最大深度(二叉树-属性)

104. 二叉树的最大深度 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 题目分析 ...

qq_42771487的博客 153

同济土木非0基础三个月跨考复旦计算机攻略

跨考cs攻略前言我cs专业课如何复习How to start from zero简历其他复试 前言 建议多去工地/化工厂涡轮增压一下 我 同济土木gpa 3.2/5 挂科 * n 辣鸡项目 * n (padding 简历) 21考复旦计算机专硕 10月-12月 学习+复习 总分392 政治 68;背肖4即可 英语二 78 裸考,(高考英语140+);做点真题,建议据自己情况准备 数学二 142 ;(高考数学接近满分);做真题+模拟题,每天写一张试卷 专业课 104 ,考试生病了,下文展开。 cs专业课

piglake的博客 7238

力扣记录:二叉树2二叉树的属性(2)——104 二叉树的最大深度,559 n叉树的最大深度,111 二叉树的最小深度

力扣记录:二叉树2二叉树的属性(2)——104 二叉树的最大深度,559 n叉树的最大深度,111 二叉树的最小深度

Kiwi_fruit的博客 396

Python开发者必看:5分钟搞定Gemini API的3种调用方式(含代码示例)

本文为Python开发者详细介绍了三种高效调用Gemini API的核心方式:基础同步调用、流式调用和聊天模式,并涵盖多模态应用等高级特性。通过清晰的代码示例和实战场景分析,帮助开发者快速掌握Gemini API的集成与优化,提升AI应用开发效率。

g8f9d0s1a2的博客 1122

openssl命令数据摘要详解(SM3、sha256、MD5、dss1、mdc2、ripemd160)

SM3是由中国密码学家设计的密码哈希函数,是中国国家密码管理局(National Cryptographic Authority,简称:CNCA)颁布的国家密码算法标准。SM3属于密码杂凑函数家族,它可以计算任意长度的消息并生成固定长度(256比特,即32字节)的哈希值。SM3生成的哈希值长度为256比特(32字节),不管输入消息的长度如何,输出始终是固定的。SM3将输入数据划分为512比特(64字节)的分组,并对每个分组进行处理。

N阶二进制的博客 4460

【Leetcode二叉树属性二】104. 二叉树的最大深度 559. N 叉树的最大深度

文章目录Leetcode1041.问题描述2.解决方案解法一:深度优先(O(n))解法二:广度优先(O(n))Leetcode5591.问题描述2.解决方案解法一:递归解法二:迭代层序遍历解法三:迭代后序遍历 Leetcode104 1.问题描述 2.解决方案 解法一:深度优先(O(n)) class Solution { public: int maxDepth(TreeNode* root) { if(root== nullptr) return 0; ret

AloneYue优快云 161

【Unity 实用工具篇】✨| 使用Fungus插件制作一个对话系统,简单好学易上手

今天带来的是Unity中一款简单易用的对话插件Fungus,它是一个免费的交互式的对话系统。 Fungus是Unity免费的一款开源的插件,它可以无代码的实现玩家与NPC之间的对话,并且支持本地化,对相机、Sprite及音乐音效的控制。 学会使用该插件就可以做一些对话剧情类的游戏了,还是非常好用的,下面就来学习一下Fungus具体怎么使用吧!

努力前行,总会成为自己心中的那道光 1万+

(补)算法训练Day16 | LeetCode104. 二叉树的最大深度(后序递归的应用);111. 二叉树的最小深度(和最大深度一样吗?); 222.完全二叉树的节点个数(如何利用完全二叉树的性质)

(补)算法训练Day16 | LeetCode104. 二叉树的最大深度(后序递归的应用);111. 二叉树的最小深度(和最大深度一样吗?); 222.完全二叉树的节点个数(如何利用完全二叉树的性质)

weixin_47284299的博客 333

【PCL点云配准】位姿估计

本文介绍了PCL(Point Cloud Library)中TransformationEstimation模块的核心算法原理和实现方法。该模块通过多种子类(如SVD、LM、双四元数等)提供点云配准功能,支持2D/3D刚性变换估计。主要内容包括:1)各类变换估计算法的数学原理和实现细节;2)点对点/点对面两种误差度量方法;3)线性闭式解和非线性迭代两种求解方式;4)变换验证机制;5)基于三点法的完整代码示例。该模块广泛应用于SLAM、三维重建等领域,为点云配准提供了高效可靠的解决方案。

yijiujiusan的博客 242

模型泛化能力提升:领域自适应与迁移学习

模型泛化能力提升:领域自适应与迁移学习​ ,人工智能,计算机视觉,大模型,AI,在机器学习和深度学习的应用中,模型的泛化能力是一个关键问题。泛化能力指的是模型在新的、未见过的数据上表现良好的能力。然而,实际情况中,训练数据和测试数据往往来自不同的领域,存在分布差异,这会导致模型的泛化能力下降。领域自适应与迁移学习正是为了解决这一问题而发展起来的重要技术。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 3万+

LeetCode第104题_二叉树的最大深度

给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。叶子节点是指没有子节点的节点。

qq_40263592的博客 2214

NXOpenC#-通用NX对象操作Tag,Handle,TaggedObject介绍

NXOpenC#-通用NX对象操作Tag,Handle,TaggedObject介绍

阿飞2018 1185

LeetCode 104.二叉树的最大深度(DFS、BFS)

给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

晴空๓ 1956

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Leetcode 104. 二叉树的最大深度

Leetcode 104. 二叉树的最大深度1、问题分析2、问题解决3、总结 1、问题分析 题目链接:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/   本质上就是一个二叉树的遍历问题。代码我已经进行了详细的注释,理解应该没有问题,读者可以作为参考,如果看不懂(可以多看几遍),欢迎留言哦!我看到会解答一下。 2、问题解决   笔者以C++方式解决。 #include "iostream" using namespace std;

珍惜 8890

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

力扣题解-104. 二叉树的最大深度

力扣题解, 基于分治法的思想解决二叉树的最大深度

lpp 5370

LeetCode 104.二叉树的最大深度

目录LeetCode 104.二叉树的最大深度题目描述解题 LeetCode 104.二叉树的最大深度 题目描述 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 返回它的最大深度 3 。 解题      /** * Definition for a binary tree node. * struct TreeNode { * int va

s_Shune 2287

瑞_力扣LeetCode_104. 二叉树的最大深度

力扣LeetCode_104. 二叉树的最大深度

阿瑞——从事Java后端,喜欢研读源码、自研框架、分享经验 1229

【力扣刷题记录——104. 二叉树的最大深度】

链接:https://leetcode.cn/problems/maximum-depth-of-binary-tree/solutions/2361697/104-er-cha-shu-de-zui-da-shen-du-hou-xu-txzrx/

weixin_45441887的博客 1052

二叉树OJ题:LeetCode--104.二叉树的最大深度

LeetCode--104.二叉树的最大深度:使用C语言递归的详细实现过程。

Yikefore的博客 719

104. 二叉树的最大深度【 力扣(LeetCode) 】

二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。给定一个二叉树 root ,返回其最大深度。【h 是树高,递归最高深度就是树高】

yyh520025的博客 1332

Leetcode104--二叉树的最大深度

Leetcode104–二叉树的最大深度 在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。 编程语言:python 作者:黑暗主宰 邮箱:shengzhanhe@gmail.com 文章目录Leetcode104--二叉树的最大深度题目描述解题思路 Leetcode104–二叉树的最大深度 题目...

EngineerHe的博客 533

二叉树的最大深度(LeetCode 104)

每次拓展下一层的时候,不同于广度优先搜索的每次只从队列里拿出一个节点,我们需要将队列里的所有节点都拿出来进行拓展,这样能保证每次拓展完的时候队列里存放的是当前层的所有节点,即我们是一层一层地进行拓展,最后我们用一个变量 height 来维护拓展的次数,该二叉树的最大深度即为 height。具体而言,在计算当前二叉树的最大深度时,可以先递归计算出其左子树和右子树的最大深度,然后在 O(1) 时间内计算出当前二叉树的最大深度。叉树的「最大深度」是指从根节点到最远叶子节点的最长路径上的节点数。

Doublelv 的博客专栏。 1391

LeetCode 104二叉树的最大深度

LeetCode 104二叉树的最大深度 题目 解析 写一个递归函数,返回最大深度 代码 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) {...

UN_uomo的博客 379

LeetCode 104:二叉树的最大深度

LeetCode 104:二叉树的最大深度题目描述解题思路代码实现总结 题目描述 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / 9 20 / 15 7 返回它的最大深度 3 。 解题思路 递归思路,依次求取左子树和右子树的...

香农三定律的博客 170

leetCode104二叉树的最大深度(java实现)

leetCode104:二叉树的最大深度(java实现) 题目概述: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最大深度 3 。 题目解析: 如果二叉树为空返回0 最好用递归做,因为遍历长度不确定 除了叶子节点,每个节点都有孩子 如果只有根节点,

三少说 341
上一篇: Leetcode|二叉树的属性|101. 对称二叉树
下一篇: Leetcode|BST修改与构造|108. 将有序数组转换为BST
SL_World
SL_World 领域专家: 算法与数据结构技术领域 领域专家: 算法与数据结构技术领域
博客等级 码龄10年 1034粉丝 308原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SL_World

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值