代码随想录day14

【顾邦小讲堂】第十九期 RC Snubber吸收电路详解:抑制MOSFET振铃现象与过冲的设计技巧! 通过RC Snubber电路有效抑制MOSFET DS端的过冲及振铃现象,帮助工程师们在设计中提升电路的稳定性和可靠性 阅读详情

二叉树 3

二叉树的最大深度

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

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

在这里插入图片描述

思路

  • 二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数或者节点数(取决于深度从0开始还是从1开始)
  • 二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数或者节点数(取决于高度从0开始还是从1开始)

确定单层递归的逻辑:先求它的左子树的深度,再求右子树的深度,最后取左右深度最大的数值 再+1 (加1是因为算上当前中间节点)就是目前节点为根节点的树的深度。

class Solution {
    // 递归解法
    public int maxDepth(TreeNode root) {
        if(root == null)
            return 0;
        int left = maxDepth(root.left);
        int right = maxDepth(root.right);
        return Math.max(left,right) + 1;
    }
}

同样有迭代解法,就能用队列

二叉树的最小深度

给定一个二叉树,找出其最小深度。

最小深度是从根节点到最近叶子节点的最短路径上的节点数量。

说明:叶子节点是指没有子节点的节点。

在这里插入图片描述

思路

可能会采用一下代码:

int leftDepth = getDepth(node.left);
int rightDepth = getDepth(node.right);
int result = 1 + min(leftDepth, rightDepth);
return result;

但这种情况下,未注意细节,即到叶子节点的最小深度,所以此种方式求解不正确。
需加上条件,如下:

class Solution {
    public int minDepth(TreeNode root) {
        if(root == null)
            return 0;
        int left = minDepth(root.left);
        int right = minDepth(root.right);
        // 注意:叶子节点,指没有子节点的节点。
        if(root.left == null)
            return right + 1;
        if(root.right == null)
            return left + 1;
        return Math.min(left,right) + 1;
    }
}

完全二叉树的节点个数

给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。

完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。

在这里插入图片描述

思路

即可用二叉树遍历方式来求解节点个数。
递归法:

class Solution {

    // 求节点个数
    public int countNodes(TreeNode root) {
        if(root == null)
            return 0;
        int leftSum = countNodes(root.left);
        int rightSum = countNodes(root.right);
        return leftSum + rightSum + 1;
    }
}
YOLOv11改进 | 网络结构代码逐行解析(二) | yolov11中的Mosaic增强详解 本文给大家带来的是YOLOv10中的Mosaic增强代码的详解,可能有部分人对于这一部分比较陌生,有的读者可能知道Mosaic增强但是不知道其工作原理,具体来说Mosaic增强就是指我们的数据集中的图片在输入给模型之前的一个处理过程(我们的图片并不是直接就输入给模型了,大家的训练结果中的结果检测图片大家可以看到数据集中多个图片会组合在一起这就是简单的Mosaic增强),下面我就来讲解一下其在YOLOv10中工作原理和代码定义,下面图片为一个Mosaic增强后的图片。​。 阅读详情

相关推荐

华三模拟器实战:IPSec VPN穿越NAT的完整配置与调试(附常见问题排查)

本文详细解析了华三模拟器中IPSec VPN穿越NAT的完整配置与调试方法,包括基础环境准备、分步配置、ACL协调策略及高级故障排查。通过实战案例和关键参数解析,帮助网络工程师解决IPSec与NAT协同工作的典型问题,提升企业网络安全性。

weixin_33724046的博客 461

代码随想录Day14

【代码】代码随想录Day14。

HNTZB的博客 273

Hermes深入理解及源码解析(二):Hermes的记忆机制

源码位置:tools/memory_tool.py存储内容为两个文件,放在 ~/.hermes/memories/:MEMORY.md:Agent 自己的笔记(环境事实、项目约定、工具坑、学到的东西)—— 上限 2200 字符USER.md:关于用户的画像(角色、偏好、沟通风格)—— 上限 1375 字符作为一个独立的工具注册在系统中(为了让智能体正确使用它,System Prompt()中明确下达了禁令存储目标存储位置数据类型持久偏好/事实MEMORY.md我是谁、我喜欢什么、环境配置。

qq_41984117的博客 560

代码随想录第五十八期day14

解析:本题比较简单,一个递归就可以搞定,分析题目可以知道就是相当于是在这个二叉树的右边画一个对称轴,然后二叉树沿着对称轴翻转就行,值得注意的是,不是单纯的交换两个节点的值,而是要交换两个节点,基于此,我们可以先遍历得到节点,然后再交换他的左右孩子,接下来一直递归,就能得到翻转的二叉树具体可以参考这篇博文。输入:root = [2,null,3,null,4,null,5,null,6]输入:root = [1,2,2,null,3,null,3]输入:root = [1,2,2,3,4,4,3]

qq_64919637的博客 1699

Unity Shader学习笔记/Urp/水墨风效果

Unity Shader学习

qq_63133691的博客 2117

如何解决群晖Docker注册表查询失败/无法拉取镜像等问题

如何解决群晖Docker注册表查询失败/无法拉取镜像等问题

XiaoqiangClub的博客 1万+

代码随想录Day 14

目前第一遍只使用遍历来做.104.二叉树的最大深度。111.二叉树的最小深度。101. 对称二叉树。

free_puppy的博客 235

基于Qt C++开发一款国产化的福昕风格PDF编辑工具

QString text = QInputDialog::getText(this, "文本批注", "输入批注内容:", QLineEdit::Normal, "", &ok);QString savePath = QFileDialog::getSaveFileName(this, "保存加密PDF", "", "PDF文件 (*.pdf)");QAction* zoomInAct = new QAction(QIcon::fromTheme("zoom-in"), "放大", this);

寒寒豆豆软件公司的博客 237

力扣226 代码随想录Day14 第一题

【代码】力扣226 代码随想录Day14 第一题。

2301_80653171的博客 230

可信启动方案设计

本博客简要解释了TF-A中的Measured-Boot可信启动设计实现。

AI-安全-功耗 1204

STM32F103C8T6驱动DHT11温湿度传感器程序

本程序基于 STM32F103C8T6 微控制器,通过 GPIO 模拟单总线通信时序实现对 DHT11 温湿度传感器的数据采集,主机采用拉低数据线的方式触发传感器启动,并通过检测高电平持续时间区分逻辑“0”和“1”,依次读取湿度和温度的整数数据及校验位,经过校验后将有效结果存入缓存数组,实现对环境温湿度的周期性测量与处理。

加斯顿工程师的博客 200

力扣101 代码随想录Day14 第二题

【代码】力扣101 代码随想录Day14 第二题。

2301_80653171的博客 144

DC Error: The power pin VDD on the cell UASA1/CG_X8_Rdsd2pcm is unconnected. (UPF-581)

【代码】DC Error: The power pin VDD on the cell UASA1/CG_X8_Rdsd2pcm is unconnected. (UPF-581)

baidu_34971492的博客 970

代码随想录刷题day14

感悟:找到最后一行,这题用层序遍历是比较容易理解的。不过用递归也一样可以。找到深度最大的叶子节点,该节点即为要找的左下角。感悟:判断一个节点是否为左叶子节点,需要由它的父节点来判断。且叶子节点的左右子节点均为空。感悟:使用递归+回溯的思想,另外可以每次减去当前节点的值,看最后是否为0。的路径,这条路径上所有节点值相加等于目标和。假设二叉树中至少有一个节点。和一个表示目标和的整数。,返回所有左叶子之和。是指没有子节点的节点。

LL_xjbt的博客 227

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

代码随想录刷题-Day14-二叉树

代码随想录刷题-Day14-二叉树 简单的二叉树定义以及递归遍历方法

smallmaolv的博客 243

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

代码随想录刷题Day14 | 二叉树的递归遍历,迭代遍历

代码随想录刷题Day14 | 二叉树的递归遍历,迭代遍历

DUM1615的博客 621

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

代码随想录训练营day14

代码随想录训练营一期

weixin_45977348的博客 2867

代码随想录打卡|Day14(找树左下角的值、路径总和、从中序和后续遍历序列构建二叉树)

给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。假设二叉树中至少有一个节点。

m0_51794588的博客 315

《代码随想录》Day14打卡!

2.递归法三部曲: 3.第一步:确定递归函数的参数和返回值:参数是二叉树的节点,返回值是二叉树的最小深度。5.第三步:确定单次递归的逻辑:首先对当前节点的左右节点分别进行递归,判断当前节点的左子树是否为空,左子树不为空,右子树为空,则给左子树的深度加1并返回,左子树为空,右子树不为空,则给右子树的深度加1。2.递归三部曲: 3.第一步确定递归的参数和返回值:参数为二叉树的节点,返回值为整数,即二叉树的深度 4.第二步确定递归的终止条件:当该节点为空时,即结束递归,返回0;//104.二叉树的最大深度。

qq_59615070的博客 1010

代码随想录打卡Day14

给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。

jianbaigreat的博客 1069

代码随想录day14-翻转二叉树/对称二叉树/二叉树的最大深度/二叉树的最小深度

想不出来就难,想出来就简单,注意递归的时候要同时满足compare(left.right,right.left) && compare(left.left,right.right)。做的时候想的有点多,在递归里加了很多没用的判断,其实只要比较左右子树的最大值就行了...前序/后序都可以,中序不可以。

zhengjojo的博客 329

代码随想录day 14

代码随想录day 14

weixin_43823613的博客 239

代码随想录算法训练营day14

今天是算法营的第14天,希望自己能够坚持下来!今日任务:● 226.翻转二叉树● 101. 对称二叉树● 104.二叉树的最大深度● 111.二叉树的最小深度今天做的题有些昨天已经做过了,又分别用递归法和迭代法用了一遍,加深了这两种方法的印象。二叉树的题感觉看完了的时候觉得会了,第二天感觉又忘了,还是需要理解其中的核心思路,并且强化才行!明天继续加油!

qq_38365428的博客 939

代码随想录DAY14

代码随想录DAY14

shiliuhua05的博客 268
上一篇: 代码随想录day13
下一篇: 代码随想录day15
Strongwind_
博客等级 码龄7年 139粉丝 22原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值