day-17 代码随想录算法训练营(19)二叉树 part04

110.平衡二叉树

分析:判断每个节点的左右子树的高度差小于等于1;所以首先需要求左右子树高度,再在父节点进行判断,故此采用后序遍历。
思路:后序遍历二叉树,从底部递归回来时加上高度
class Solution {
public:int judge(TreeNode*root){if(root==nullptr)return 0;int hl=judge(root->left);if(hl==-1) return -1;int hr=judge(root->right);if(hr==-1) return -1;if(abs(hr-hl)>1) return -1;return 1+max(hr,hl);}bool isBalanced(TreeNode* root) {//思路二:递归遍历每一个节点的左右子树高度,判断是否差值小于等于1if(root==nullptr)return true;return judge(root)==-1?false:true;}

257.二叉树的所有路径

思路:要找到每一个叶子节点,并且加上一路上的值,使用前序遍历;在遍历到left和right为空时添加路径
class Solution {
public:vector<string>nodes;void judge(TreeNode*root,string mid){if(root==nullptr)return;if(!mid.empty())//当mid中有值时mid+="->";mid+=to_string(root->val);if(root->left==nullptr && root->right==nullptr)nodes.push_back(mid);judge(root->left,mid);judge(root->right,mid);}vector<string> binaryTreePaths(TreeNode* root) {//这题需要从根结点开始遍历且加上val值,所以采用前序遍历string mid="";judge(root,mid);return nodes;}
};

404.左叶子之和

 思路:直接递归遍历,判断到左叶子节点计数
class Solution {
public:int count=0;void judge(TreeNode*root,bool dis){//dis用来判断是左子节点还是右子节点if(root==nullptr)return;if(root->left==nullptr && root->right==nullptr && dis)//当该节点是左叶子节点时count+=root->val;judge(root->left,true);judge(root->right,false);}int sumOfLeftLeaves(TreeNode* root) {if(root->left==nullptr && root->right==nullptr)//考虑只有一个节点的情况return 0;judge(root,true);return count;}
};

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【管理运筹学】第 5 章 | 整数规划 (1,问题提出与分支定界法)

文章目录 引言一、整数规划问题的提出1.1 整数规划的数学模型1.2 整数规划问题的求解 二、分支定界法2.1 分支与定界2.2 基本求解步骤&#xff08;一&#xff09;初始化&#xff08;二&#xff09;分支与分支树&#xff08;三&#xff09;定界与剪枝&#xff08;四&#xff09;…

SpringBoot之HandlerInterceptor拦截器的使用

&#x1f600;前言 本篇博文是关于拦截器-HandlerInterceptor的使用&#xff0c;希望你能够喜欢 &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满意是我的动…

SQL 复习 03

函数与关键字 用法说明round(x, n)四舍五入&#xff0c;x为浮点数&#xff0c;n为保留的位数ceil(x)向上取整floor(x)向下取整truncate(x, n)截断x&#xff0c;n为保留的位&#xff0c;该位之后的数值置零&#xff0c;位数表示示例&#xff1a;321.123&#xff0c;其中小数点前…

Linux 多进程

目录 0x01 linux中特殊的进程 0x02 进程的标识 0x03 创建子进程 0x01 linux中特殊的进程 0号进程&#xff1a;idle进程&#xff0c;系统启动加载的进程1号进程&#xff1a;systemd进程&#xff0c;系统初始化&#xff0c;是所有进程的祖先进程 init2号进程&#xff1a;kthre…

YOLOv5白皮书-第Y6周:模型改进

&#x1f4cc;本周任务&#xff1a;模型改进&#x1f4cc; 注&#xff1a;对yolov5l.yaml文件中的backbone模块和head模块进行改进。 任务结构图&#xff1a; YOLOv5s网络结构图: 原始模型代码&#xff1a; # YOLOv5 v6.0 backbone backbone:# [from, number, module, args]…

每日汇评:黄金在 200 日移动平均线附近似乎很脆弱,关注美国零售销售

1、金价预计将巩固其近期跌势&#xff0c;至 6 月初以来的最低水平&#xff1b; 2、对美联储再次加息的押注继续限制了贵金属的上涨&#xff1b; 3、金融市场现在期待美国零售销售报告带来一些有意义的推动&#xff1b; 周二金价难以获得任何有意义的牵引力&#xff0c;并在…

Mac RN环境搭建

IOS RN ios android原生环境搭建有时候是真恶心&#xff0c;电脑环境不一样配置也有差异。 我已经安装官网的文档配置了ios环境 执行 npx react-nativelatest init AwesomeProject 报错 然后自己百度查呀执行 gem update --system 说是没有权限&#xff0c;执行失败。因…

POSTGRESQL 关于安装中自动启动的问题 详解

开头还是介绍一下群&#xff0c;如果感兴趣Polardb ,mongodb ,MySQL ,Postgresql ,redis &#xff0c;SQL SERVER ,ORACLE,Oceanbase 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请加 liuaustin3微信号 &…

OpenSSH 远程升级到 9.4p1

OpenSSH 远程升级到 9.4p1 文章目录 OpenSSH 远程升级到 9.4p1背景升级前提1. 升级 OpenSSL2. 安装并启用Telnet 升级OpenSSH 背景 最近的护网行动&#xff0c;被查出来了好几个关于OpenSSH 的漏洞。这是因为服务器系统安装后&#xff0c;直接使用了系统自带版本的OpenSSH &am…

2023-08-15 linux mipi 屏幕调试:有一个屏幕开机时候不显示,开机后按power 按键休眠唤醒就可以显示。原因是reset gpio 被复用

一、现象&#xff1a;今天更新了一个新版本的buildroot linux sdk &#xff0c;调试两个mipi 屏幕&#xff0c;这两个屏幕之前在其他的sdk都调好了的&#xff0c;所有直接把配置搬过来。但是有一个屏幕可以正常显示&#xff0c;有一个屏幕开机时候不显示&#xff0c;开机后按po…

CentOS防火墙操作:开启端口、开启、关闭、配置

一、基本使用 启动&#xff1a; systemctl start firewalld 关闭&#xff1a; systemctl stop firewalld 查看状态&#xff1a; systemctl status firewalld 开机禁用 &#xff1a; systemctl disable firewalld 开机启用 &#xff1a; systemctl enable firewalld systemctl是…

angular注入方法providers

在Angular中有很多方式可以将服务类注册到注入器中: Injectable 元数据中的providedIn属性 NgModule 元数据中的 providers属性 Component 元数据中的 providers属性 创建一个文件名叫名 hero.service.ts叫 hero 的服务 hero.service.ts import { Injectable } from angular…

C语言,结构体,结构体大小,

1、结构体&#xff1a; 用于存储不同数据类型的多个相关变量&#xff0c;从而形成一个具有独立性的组合数据类型。 结构体的声明&#xff1a; struct 结构体类型名{ 数据类型 成员1&#xff1b; 数据类型 成员2&#xff1b; 数据类型 成员3&#xff1b; ……… }&#xff1…

转行软件测试四个月学习,第一次面试经过分享

我是去年上半年从销售行业转行到测试的&#xff0c;从销售公司辞职之后选择去培训班培训软件测试&#xff0c;经历了四个月左右的培训&#xff0c;在培训班结课前两周就开始投简历了&#xff0c;在结课的时候顺利拿到了offer。在新的公司从事软件测试工作已经将近半年有余&…

深信服数据中心管理系统 XXE漏洞复现

0x01 产品简介 深信服数据中心管理系统DC为AC的外置数据中心&#xff0c;主要用于海量日志数据的异地扩展备份管理&#xff0c;多条件组合的高效查询&#xff0c;统计和趋势报表生成&#xff0c;设备运行状态监控等功能。 0x02 漏洞概述 深信服数据中心管理系统DC存在XML外部实…

WPS-0DAY-20230809的分析和利用复现

WPS-0DAY-20230809的分析和初步复现 一、漏洞学习1、本地复现环境过程 2、代码解析1.htmlexp.py 3、通过修改shellcode拿shell曲折的学习msf生成sc 二、疑点1、问题2、我的测试测试方法测试结果 一、漏洞学习 强调&#xff1a;以下内容仅供学习和测试&#xff0c;一切行为均在…

Keil开发STM32单片机项目的三种方式

STM32单片机相比51单片机&#xff0c;内部结构复杂很多&#xff0c;因此直接对底层寄存器编码&#xff0c;相对复杂&#xff0c;这个需要我们了解芯片手册&#xff0c;对于复杂项目&#xff0c;这些操作可能需要反复编写&#xff0c;因此出现了标准库的方式&#xff0c;对寄存器…

ES中倒排索引机制

在ES的倒排索引机制中有四个重要的名词&#xff1a;Term、Term Dictionary、Term Index、Posting List。 Term&#xff08;词条&#xff09;&#xff1a;词条是索引里面最小的存储和查询单元。一段文本经过分析器分析以后就会输出一串词条。一般来说英文语境中词条是一个单词&a…

日期时间常用功能和函数

1 time 模块 time 模块提供了很多与时间相关的类和函数&#xff0c;下面我们介绍一些常用的。 1.1 struct_time 类 time 模块的 struct_time 类代表一个时间对象&#xff0c;可以通过索引和属性名访问值。对应关系如下所示&#xff1a; 索引属性值0tm_year&#xff08;年&a…

Docker容器与虚拟化技术:Docker资源控制、数据管理

目录 一、理论 1.资源控制 2.Docker数据管理 二、实验 1.Docker资源控制 2.Docker数据管理 三、问题 1.docker容器故障导致大量日志集满&#xff0c;造成磁盘空间满 2、当日志占满之后如何处理 四、总结 一、理论 1.资源控制 (1) CPU 资源控制 cgroups&#xff0…