代码随想录day14
二叉树的反转,采用迭代,只能用前序和后序遍历
/*** 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:TreeNode* invertTree(TreeNode* root) {if(root==NULL) return root;invertTree(root->left);//左 invertTree(root->right);//右swap(root->left,root->right);//中return root;}
};
二叉树是否对称,采用后序遍历,左右中,判断根节点两个子树是否相等
1.先判断是否空,再判断数值是否相等
2.如果可以,判断子树里侧和外侧是否相等
二叉树的最大深度
深度指的是根节点到叶子节点的距离,从1开始,前序遍历,中左右
高度是从叶子节点到根节点的距离,后序遍历,左右中
/*** 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 getdepth(TreeNode *node){if(node==NULL) return 0;int leftdep=getdepth(node->left);int rightdep=getdepth(node->right);int depth=1+max(leftdep,rightdep);return depth;}int maxDepth(TreeNode* root) {int depth= getdepth(root);return depth;}
};
二叉树的最小深度,
叶子节点是左右孩子都为空,根节点到叶子节点的最小距离
/*** 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 getdep(TreeNode* node){if(node==NULL) return 0;int leftdep=getdep(node->left);int rightdep=getdep(node->right);
//如果左孩子为空,说明不是叶子节点,返回右深度if(node->left==NULL&&node->right!=NULL){ return 1+rightdep;}if(node->left!=NULL&&node->right==NULL) return 1+leftdep;int res= 1+min(leftdep,rightdep);return res;}int minDepth(TreeNode* root) {return getdep(root);}
};
相关文章:
代码随想录day14
二叉树的反转,采用迭代,只能用前序和后序遍历 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(i…...
react19新API之use()用法总结
React use() Hook 使用指南 概述 use() 是 React 19 引入的新 Hook,它允许你在组件内部直接使用 Promise、Context 和其他可订阅的值。它是一个更通用的数据获取和订阅机制。 基本语法 const value use(resource);主要用途 1. Promise 处理 function UserDet…...
67,【7】buuctf web [HarekazeCTF2019]Avatar Uploader 2(未完成版)
进入靶场 和上一题一母同胞,先把上一题的答案拖进去看看 区别在于上一题这块直接显示了flag,这里并没有 看看源码 加载不出来,ctrlu <!-- 上传头像的提示信息,说明上传要求 --><p>Please upload a PNG image less th…...
ANSYS HFSS 中的相控天线阵列仿真方法
概述 相控天线阵列系统广泛使用,从国防雷达应用到商业 5G 应用。设计这些天线阵列涉及复杂的数学运算,需要全波仿真。Ansys HFSS 全场 3D 电磁仿真软件可以在合理的时间内以较低的计算成本仿真复杂的相控阵天线系统,同时考虑复杂激励、环境&…...
stm32 L051 adc配置及代码实例解析
一 cude的设置: 1. 接口的基本设置: 2. 参数的设置: 二 代码的逻辑: 1. 上面的直接生成代码,然后使用下面源码即可读到adc的数据: void adc_battery_start(void) {uint32_t ADC_value 0;HAL_ADC_Start(&…...
KUKA示教器仿真软件OfficeLite8.6.2,EthernetKRL3.1.3通信
一、准备软件。 1、vmware17.6.1 2、OfficeLite8.6.2 3、EthernetKRL3.1.3 4、KUKA Router 5、EthernetKRL_Server 通过网盘分享的文件:库卡相关软件 链接: https://pan.baidu.com/s/1NwvR3RVP0edLBeZnnnCYvw 提取码: smys 二、安装vmware17.6.1 1、找到下载…...
Erlang语言的并发编程
Erlang语言的并发编程 引言 并发编程是现代软件开发中的一个重要领域,尤其是在面对需要高效处理大量任务的应用时。Erlang是一种专门设计用于并发编程的编程语言,由于其在电信和即时通信系统中的广泛应用,逐渐引起了开发者的关注。Erlang的…...
【数据挖掘实战】 房价预测
本次对kaggle中的入门级数据集,房价回归数据集进行数据挖掘,预测房屋价格。 本人主页:机器学习司猫白 机器学习专栏:机器学习实战 PyTorch入门专栏:PyTorch入门 深度学习实战:深度学习 ok,话不多…...
我的创作纪念日,纪念我的第512天
目录 年末 年初 入围 博客 变动 生活 期待 年末 很快,2024年已经过去了,本想在跨年夜的时候营造一点小小的仪式感,结果也因为身体的原因放弃了,浑身感觉疼痛,躺在床上,闭上眼睛,什么也不…...
【科研建模】Pycaret自动机器学习框架使用流程及多分类项目实战案例详解
Pycaret自动机器学习框架使用流程及项目实战案例详解 1 Pycaret介绍2 安装及版本需求3 Pycaret自动机器学习框架使用流程3.1 Setup3.2 Compare Models3.3 Analyze Model3.4 Prediction3.5 Save Model4 多分类项目实战案例详解4.1 ✅ Setup4.2 ✅ Compare Models4.3 ✅ Experime…...
PHP语言的网络编程
PHP语言的网络编程 网络编程是现代软件开发中不可或缺的一部分,尤其是在日益发展的互联网时代。PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,专门用于Web开发。它的灵活性、易用性以及强大的社区支持使得PHP在网络…...
计算机的错误计算(二百一十八)
摘要 大模型能确定 sin(2.6^100) 的符号吗?实验表明,大模型给的结论是正确的,但其证明过程是错误百出。大模型的推理实在是不敢恭维。 就同样题目,测试一下另外一个大模型。 例1. 能确定 sin(2.6^100) 的符号吗? 下…...
《鸿蒙Next原生应用的独特用户体验之旅》
界面设计与交互方面 简洁性与一致性:iOS界面以简洁统一著称,而鸿蒙Next的界面设计同样主打简洁,各部件采用悬浮效果,营造出空间感,如天气App的展示更加逼真。安卓系统由于不同厂商的定制化程度较高,导致用户…...
MDX语言的字符串处理
MDX语言的字符串处理 引言 MDX(Multidimensional Expressions)是一种专门用于多维数据库查询和分析的语言,特别是在Microsoft SQL Server Analysis Services(SSAS)中使用广泛。MDX不仅用于查询多维数据,还…...
游戏AI,让AI 玩游戏有什么作用?
让 AI 玩游戏这件事远比我们想象的要早得多。追溯到 1948 年,图灵和同事钱伯恩共同设计了国际象棋程序 Turochamp。之所以设计这么个程序,图灵是想说明,机器理论上能模拟人脑能做的任何事情,包括下棋这样复杂的智力活动。 可惜的是…...
Java 设计模式 二 单例模式 (Singleton Pattern)
单例模式 (Singleton Pattern) 是一种常见的设计模式,属于创建型模式。它的核心思想是确保一个类只有一个实例,并提供一个全局访问点来获取该实例。通常用于那些需要全局控制的场景,比如配置管理、日志系统、数据库连接池等。 1. 单例模式的…...
Java 中 final 关键字的奥秘
目录 一、final 修饰类:封印的 “永恒之石” 二、final 修饰变量:锁定的 “不变之值” 三、final 修饰方法:不可撼动的 “坚固堡垒” 四、总结 在 Java 编程的世界里,final 关键字就像一把神奇的 “锁”,一旦使用&…...
C# 通用缓存类开发:开启高效编程之门
引言 嘿,各位 C# 开发者们!在当今快节奏的软件开发领域,提升应用程序的性能就如同给跑车装上涡轮增压,能让你的项目在激烈的竞争中脱颖而出。而构建一个高效的 C# 通用缓存类,无疑是实现这一目标的强大武器。 想象一…...
电脑办公技巧之如何在 Word 文档中添加文字或图片水印
Microsoft Word是全球最广泛使用的文字处理软件之一,它为用户提供了丰富的编辑功能来美化和保护文档。其中,“水印”是一种特别有用的功能,它可以用于标识文档状态(如“草稿”或“机密”)、公司标志或是版权信息等。本…...
记录一下OpenCV Contrib 编译踩的坑
最近有需要采用OpenCV Contrib 里面的函数做一下处理,要重新编译,一路编译两三个小时了,记录一下备忘吧。 1、编译前先准备好如下环境 ①visual studio已安装,具体版本和型号根据需求经验来,我看常用的是VS2015、VS201…...
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
Python 实现 Web 静态服务器(HTTP 协议)
目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...
从面试角度回答Android中ContentProvider启动原理
Android中ContentProvider原理的面试角度解析,分为已启动和未启动两种场景: 一、ContentProvider已启动的情况 1. 核心流程 触发条件:当其他组件(如Activity、Service)通过ContentR…...
Qt 事件处理中 return 的深入解析
Qt 事件处理中 return 的深入解析 在 Qt 事件处理中,return 语句的使用是另一个关键概念,它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别:不同层级的事件处理 方…...
k8s从入门到放弃之HPA控制器
k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率(或其他自定义指标)来调整这些对象的规模,从而帮助应用程序在负…...
向量几何的二元性:叉乘模长与内积投影的深层联系
在数学与物理的空间世界中,向量运算构成了理解几何结构的基石。叉乘(外积)与点积(内积)作为向量代数的两大支柱,表面上呈现出截然不同的几何意义与代数形式,却在深层次上揭示了向量间相互作用的…...
Android屏幕刷新率与FPS(Frames Per Second) 120hz
Android屏幕刷新率与FPS(Frames Per Second) 120hz 屏幕刷新率是屏幕每秒钟刷新显示内容的次数,单位是赫兹(Hz)。 60Hz 屏幕:每秒刷新 60 次,每次刷新间隔约 16.67ms 90Hz 屏幕:每秒刷新 90 次,…...
