leetcode_二叉树最大深度

news/2024/11/19 22:10:55/

对二叉树的理解 对递归调用的理解 对内存分配的理解

基础数据结构(C++版本) - 飞书云文档

每次函数的调用 都会进行一次新的栈内存分配 所以lmax和rmax的值不会混在一起 

/*** 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 == NULL){return 0;}int lmax = maxDepth(root->left);int rmax = maxDepth(root->right);return 1 + max(lmax, rmax);}
};


http://www.ppmy.cn/news/1548336.html

相关文章

ubuntu 22.04 shell

原因:在ubuntu(18.04)默认是指向bin/dash解释器的,dash是小巧的shell(阉割版的bash),其功能远没有bash强大和丰富。上述问题就是dash不支持let和i运算等功能造成的。 ls -la /bin/sh lrwxrwxrw…

【青牛科技】D54123 漏电保护电路介绍及应用

1、具体应用: 相关产品介绍: D54123 应用框图: D54123 方案介绍: 当正常电源电流流过时,电容滤波至少保证 VS端电压为12V R1、R2可根据所用电网交流电压值来选择 C4 应大于 1μF,C2小于 1μF 必须接入 RP&…

Android OpenGLES2.0开发(八):Camera预览

严以律己,宽以待人 引言 终于到该章节了,还记得Android OpenGLES2.0开发(一):艰难的开始章节说的吗?写这个系列的初衷就是因为每次用到GLSurfaceViewCamera预览时,总是CtrlC、CtrlV从来没有研究…

Vue3-02

toRef 作用:创建一个 ref 对象,其value值指向另一个对象中的某个属性。 语法:const name toRef(person,‘name’) 应用: 要将响应式对象中的某个属性单独提供给外部使用时。 扩展:toRefs与toRef功能一致,但可以批量创…

为什么 Vue3 封装 Table 组件丢失 expose 方法呢?

在实际开发中,我们通常会将某些常见组件进行二次封装,以便更好地实现特定的业务需求。然而,在封装 Table 组件时,遇到一个问题:Table 内部暴露的方法,在封装之后的组件获取不到。 代码展示为: …

芯原科技嵌入式面试题及参考答案

Linux 相关驱动怎么写? 在 Linux 中编写驱动主要有以下步骤。 首先,需要了解设备的硬件特性。这包括设备的工作原理、寄存器地址和功能、中断号等信息。例如,对于一个简单的 GPIO 设备,要知道其数据寄存器、方向寄存器的位置以及读写操作的规则。 然后是模块的初始化部分。…

Python re 模块:正则表达式的强大工具

文章目录 Python re 模块:正则表达式的强大工具导入 re 模块基本匹配方法re.match()re.search()re.findall()re.finditer() 替换操作re.sub() 分割字符串re.split() 捕获组和非捕获组捕获组非捕获组 常用模式符号实际应用示例验证电子邮件格式提取 URL 预定义字符简…

【企业级分布式系统】ZooKeeper集群

文章目录 Zookeeper 概述Zookeeper 定义Zookeeper 工作机制Zookeeper 特点Zookeeper 数据结构Zookeeper 选举机制 部署 Zookeeper 集群准备 3 台服务器作为 Zookeeper 集群节点1. 安装前准备关闭防火墙安装 JDK下载安装包 2. 安装 Zookeeper修改配置文件拷贝配置好的 Zookeeper…