Lintcode 97. 二叉树的最大深度 C++

LeetCode 104. 二叉树的最大深度(C++实现) 一、题目描述 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明:叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最大深度3 。 二、思路 一般来说,树的遍历分为两种策略: DFS... 阅读详情

描述

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

二叉树的深度为根节点到最远叶子节点的距离。

样例

样例 1:
输入: tree = {}
输出: 0
样例解释: 空树的深度是0。

样例 2:
输入: tree = {1,2,3,#,#,4,5}
输出: 3
样例解释: 树表示如下,深度是3
1
/ \
2 3
/ \
4 5
它将被序列化为{1,2,3,#,#,4,5}

思路大概就是
递归,在找到最深子叶节点的时候计算深度,返回
之后比较大小
最后返回数值最大的

/**
 * Definition of TreeNode:
 * class TreeNode {
 * public:
 *     int val;
 *     TreeNode *left, *right;
 *     TreeNode(int val) {
 *         this->val = val;
 *         this->left = this->right = NULL;
 *     }
 * }
 */

class Solution {
public:
    /**
     * @param root: The root of binary tree.
     * @return: An integer
     */
     int dep(TreeNode * root,int deep){
        int ma=deep,mb=deep,max=deep;
        
        if(root->left==NULL&&root->right==NULL){
            return max;
        }
        if(root->left!=NULL){
           ma= dep(root->left,deep+1);
        }
        if(root->right!=NULL){
           mb=  dep(root->right,deep+1);
        }
        
        return ma  > mb ? ma:mb;
    }
    int maxDepth(TreeNode * root) {
        // write your code here
        int max=0;
        if(root==NULL){
            return 0;
        }
        max=dep(root,1);

        return max;
    }
};
Lintcode 846. 多关键字排序 C++ 多关键字排序 给定 n 个学生的学号(从 1 到 n 编号)以及他们的考试成绩,表示为(学号,考试成绩),请将这些学生按考试成绩降序排序,若考试成绩相同,则按学号升序排序。 样例1 输入: array = [[2,50],[1,50],[3,100]] 输出: [[3,100],[1,50],[2,50]] 样例2 输入: array = [[2,50],[1,50],[3,50]] 输... 阅读详情

相关推荐

傅里叶变换实战:用Python手把手教你分析音频频谱(附完整代码)

本文详细介绍了如何使用Python实现傅里叶变换进行音频频谱分析,涵盖音频加载、预处理、FFT应用、频谱可视化及特征提取等关键步骤。通过实战案例和完整代码,帮助开发者掌握数字信号处理技术,特别适合音频分析和音乐信息检索领域的应用。

weixin_29090677的博客 150

二叉树的最大深度(C++解法)

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

m0_62275194的博客 934

超酷炫,Python实现交通数据可视化!

此时输出的栅格化参数params的内容存储了栅格坐标系的原点坐标(slon、slat)、单个栅格的经纬度长宽 (deltalon、deltalat)、栅格的旋转角度(theta)、栅格的形状(method参数,其值可以是方形rect、三角形tri和六边形hexa)以及栅格的大小(gridsize参数,单位为米)。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。今天分享一次Python交通数据分析与可视化的实战!

m0_59236127的博客 1697

lintcode 97. 二叉树的最大深度

给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的距离。 样例 样例 1: 输入: tree = {} 输出: 0 样例解释: 空树的深度是0。 样例 2: 输入: tree = {1,2,3,#,#,4,5} 输出: 3 样例解释: 树表示如下,深度是3 1 / \ 2 3 / \ ...

sinb妃的博客 129

(蓝桥杯)STM32G431RBT6(SysTick timer)

选用最基础的定时器。

2301_81764359的博客 1903

LDPC码译码原理——概率公式推导

怎么说呢,一直以来都想写一下博客。近半年多来我一直在学习LDPC码译码上的东西,主要是在FPGA实现上的,所以这次想写一些关于这方面的内容,包括译码的原理、仿真以及实现。(当然是基于准循环LDPC码上实现的)不过呢,我写这个的初衷是为了让初学者理解入门用的,而不是在大牛面前班门弄斧,有错误之处欢迎大家批评指正。不知道会不会有人一开始像我一样,为了学好LDPC码,先去好好了解其它的诸如RS码或者是卷...

stand_by_me123的博客 2万+

LintCode 第97题 二叉树的最大深度 【分治算法】

题目描述: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的距离。 样例 给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5 这个二叉树的最大深度为3. 解题思路: 使用递归的思想,递归函数返回当前节点左右子节点的深度大的那一个。 实现代码: #include #include #include

luobo140716的专栏 612

基于大疆TSDK与Pix4D的热红外数据工程化处理:从RJPG到温度正射影像的完整工作流

本文详细介绍了基于大疆TSDK与Pix4D的热红外数据工程化处理完整工作流。通过Python脚本自动化解析RJPG格式的热红外图像,提取并转换其中的原始辐射数据为包含真实温度信息的TIFF文件,再结合Pix4Dmapper进行批量拼接,最终生成可直接用于GIS分析的温度正射影像图。该流程解决了手动处理效率低下、参数校准复杂等难题,实现了从原始数据到定量分析成果的高效、准确、可重复生产。

weixin_29161785的博客 377

二叉树的最大深度-LintCode

给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的距离。 样例 给出一棵如下的二叉树: 思路: 递归地求二叉树的最大深度,节点的最大深度等于左右子树最大深度的最大值加一。 #ifndef C97_H #define C97_H #include<iostream> using namespace std; class TreeNode{ public...

kane的博客 241

西电微机系统课程设计步进电机开环控制系统

** 微机系统与应用课程设计 课题二 步进电机开环控制系统设计** 一、程设计目的 掌握微机系统总线与各芯片管脚连接方法,提高接口扩展硬件电路的连接能力。 加深对 A/D 和并行接口芯片的工作方式和编程方法的理解。 搞懂步进电机的工作原理及控制方式,掌握开环控制系统的设计思路和实现方法。 二、课程设计的内容 手动调节电位器旋钮(0V~5V),通过 ADC0809 模拟输入水库水位 0 米~50...

qq_37015775的博客 4038

银行统一监管报送系统

依据《银行业金融机构数据治理指引》,银行业金融机构应当建立适应监管数据报送工作需要的信息系统,实现流程控制的程序化,提高监管数据加工的自动化程度。银行业金融机构应当将监管数据纳入数据治理,建立工作机制和流程,确保监管数据报送工作有效组织开展,监管数据质量持续提升。银行通常要对接报送EAST5.0、1104、CRSS等近40个监管应用,涉及近1000张报表。表13-01是主要的监管报送应用、报送依据、报送规范、监管机构名称。

银行信息系统应用架构详解 4350

日常练习:Lintcode37. 反转一个3位整数 Python

题目: 反转一个只有3位数的整数。 样例: 123 反转之后是 321。 900 反转之后是 9。 就….挺简单的, 代码: class Solution: """ @param number: A 3-digit number. @return: Reversed number. """ def reverseInte...

Cold__Winter的博客 1819

模型瘦身术:YOLOv5无损剪枝实战教程

本文介绍了一种YOLOv5模型的无损剪枝方法,通过"稀疏训练+结构化剪枝+微调"的流程,在不损失精度的前提下显著减小模型尺寸并提升推理速度。具体步骤包括:1)稀疏训练给参数排优先级;2)裁剪不重要通道;3)微调恢复精度;4)验证效果。实战部分详细展示了从环境搭建到剪枝实现的完整流程,并分析了剪枝后在边缘设备部署、实时检测等场景的优势。该方法可使YOLOv5s模型从14MB缩减至2-3MB,推理速度提升30%-50%,适用于资源受限设备的轻量化部署需求。

LXY_LOVE36的博客 104

小练习:Lintcode466. 链表节点计数 Python

题目: 计算链表中有多少个节点. 样例: 给出 1->3->5, 返回 3. 就很简单的练习 """ Definition of ListNode class ListNode(object): def __init__(self, val, next=None): self.val = val self.ne...

Cold__Winter的博客 623

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

日常练习+讨论:Lintcode 9. Fizz Buzz 问题 Python

其实这个问题挺有名的,简单概述一下就是3换成Fizz,5换成Buzz,公倍数就FizzBuzz。 我之前在leetcode上做题的时候也遇到了,但是因为感觉简单,所以没有在意。 今天…Cisse-away突然问我是否做了这道题,我还心想这么简单的题不应该有什么蹊跷啊,但是他想问的题怎么可能简单呢, 果然,他是看了lintcode网站上的挑战,只用一个if来完成这个题,还说用python才能实

Cold__Winter的博客 589

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

日常练习:Lintcode 53. 翻转字符串 Python

题目: 给定一个字符串,逐个翻转字符串中的每个单词。 说明: 单词的构成:无空格字母构成一个单词 输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包括 如何处理两个单词间的多个空格?在反转字符串中间空格减少到只含一个 思路: 这个我想到的是…先分割,再反转,刚开始想复杂了,以为单词里面的字母也要反转,后来发现是把分开的各个部分看成单独的元

Cold__Winter的博客 531

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

日常练习:Lintcode64. 合并排序数组 Python

题目: 合并两个排序的整数数组A和B变成一个新的数组。 样例: 给出 A = [1, 2, 3, empty, empty], B = [4, 5] 合并之后 A 将变成 [1,2,3,4,5] 那啥,讲真哈,这题不难,就直接上代码了: class Solution: """ @param: A: sorted integer array A w

Cold__Winter的博客 526

日常练习:Lintcode 157. 判断字符串是否没有重复字符 Python

题目: 实现一个算法确定字符串中的字符是否均唯一出现 样例: 给出”abc”,返回 true 给出”aab”,返回 false 这个题…我用的还是python,一句话解决 直接把字符串转换成set,之后判断一下与原长度是否相等即可,简单方便。 上代码: class Solution: """ @param: str: A string @retu

Cold__Winter的博客 454

Lintcode:82落单的数 C++

题目: 给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。 样例: 给出 [1,2,2,1,3,4,3],返回 4 代码: // An highlighted block class Solution { public: /** * @param A: An integer array * @return: An intege...

Cold__Winter的博客 441

日常练习:lintcode49. 字符大小写排序 Python

题目: 给定一个只包含字母的字符串,按照先小写字母后大写字母的顺序进行排序。 注意事项: 小写字母或者大写字母他们之间不一定要保持在原始字符串中的相对位置。 样例: 样例 给出”abAcD”,一个可能的答案为”acbAD” 刚开始以为要正规排序后来发现其实挺简单的,用冒泡排序解决了。 上代码: class Solution: """ ...

Cold__Winter的博客 434

日常练习:Lintcode:50. 数组剔除元素后的乘积 Python

题目: 给定一个整数数组A。 定义B[i] = A[0] * … * A[i-1] * A[i+1] * … * A[n-1], 计算B的时候请不要使用除法。 样例: 给出A=[1, 2, 3],返回 B为[6, 3, 2] 题…不难,就循环相乘,之后加到另一个数组里面就行 上代码: class Solution: """ @param: nu...

Cold__Winter的博客 429

日常练习:Lintcode46. 主元素 Python

题目: 给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。 样例: 给出数组[1,1,1,1,2,2,2],返回 1 讲真哈,还是个水题,唉。 也不知道明天的测验能咋样。 上代码吧: class Solution: """ @param: nums: a list of integers @return: f

Cold__Winter的博客 415

日常练习:lintcode56. 两数之和 Python

题目: 给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。 你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 0 到 n-1。 注意事项 你可以假设只有一组答案。 样例: 给出 numbers = [2, 7, 11, 15], target = 9, 返回 [0, 1]. 上

Cold__Winter的博客 404

小练习:Lintcode463. 整数排序 Python

题目: 给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。 样例: 对于数组 [3, 2, 1, 4, 5], 排序后为:[1, 2, 3, 4, 5]。 python代码: class Solution: """ @param A: an integer array @return: nothin...

Cold__Winter的博客 403

Lintcode 822. 相反的顺序存储 C++

描述 给出一个链表,并将链表的值以倒序存储到数组中。 您不能改变原始链表的结构。 ListNode 有两个成员变量:ListNode.val 和 ListNode.next 样例 样例1 输入: 1 -> 2 -> 3 -> null 输出: [3,2,1] 样例2 输入: 4 -> 2 -> 1 -> null 输出: [1,2,4] 把链表数据存...

Cold__Winter的博客 400

Lintcode 53. 翻转字符串中的单词 C++

描述 给定一个字符串,逐个翻转字符串中的每个单词。 说明 ·单词的构成:无空格字母构成一个单词,有些单词末尾会带有标点符号 ·输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包括 ·如何处理两个单词间的多个空格?在反转字符串中间空格减少到只含一个 样例 样例 1: 输入: “the sky is blue” 输出: “blue is sky the” 样例 2: 输入...

Cold__Winter的博客 396
上一篇: Lintcode 822. 相反的顺序存储 C++
下一篇: LeetCode 561.数组拆分 I Java
Cold__Winter
博客等级 码龄9年 16粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值