513、找二叉树左下角的值

news2024/11/16 3:12:53

         

题解:层序遍历简单,此篇记录递归法,要注意左下角的值并不一定是左叶子节点,遍历思路形象化就是按先左后右的顺序遍历每一条分支,若遍历到叶子结点,看此时深度有没有超过之前的值,超过了就记录下来节点val,若没有就开始遍历下一条分支。

代码如下:

class Solution {
public:
    int maxDepth = INT_MIN;
    int result;
    int traversal(TreeNode* root, int depth){
        if(root->left == NULL&& root->right ==NULL){
            if (depth>maxDepth){
                maxDepth= depth;
                result = root->val;
            }
            return result;
        }
        if(root->left){
            depth++;
            traversal(root->left,depth);
            depth--;
        }
        if(root->right){
            depth++;
            traversal(root->right,depth);
            depth--;
        }
        return result;
    }

    int findBottomLeftValue(TreeNode* root) {
    return traversal(root,0);

    }
};

注意:

关于深度的计算,一种是return1+递归,一种如题中所示单层递归逻辑中depth++。

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

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

相关文章

森林之下延迟高如何处理 森林之下联机卡顿的解决方法

森林之下是一款结合了农场模拟、恐怖生存的游戏,玩家需要管理一个被“闹鬼的树林”包围的农场,种植农作物,拯救、驯服、饲养动物,探索被诅咒的森林,并且收集物品来破除诅咒。这款游戏目前已经开放了demo,不…

韩顺平0基础学java——第26天

p523-547 HashSet扩容时,只要节点到达了阈值就会扩,而不是数组长度到了才扩。 比如长16的数组,索引1放了8个,索引3放了4个,我再加一个他就会扩容。 另外谁能告诉我老师的debug界面是怎么设置的吗忘光了 HashSet存放…

《合金弹头:觉醒》横空出世,腾讯天美工作室携手SNK再塑经典

原标题:腾讯携手SNK发布游戏新作《合金弹头:觉醒》7月18日正式发布 易采游戏网6月19日消息:游戏界迎来一则激动人心的消息,由SNK正版授权,腾讯天美工作室研发的横版动作射击手游《合金弹头:觉醒》正式登陆S…

驾校在线考试系统源码 手机+PC+平板自适应

Thinkphp在线考题源码 驾校在线考试系统 手机PC平板 自适应,机动车驾驶培训学校驾校类网站源码带手机端 运行环境:phpmysql 内附安装说明 驾校在线考试系统源码 手机PC平板自适应

浅谈目标检测之YOLO(You Only Look Once)v1

简介:本文章要介绍的YOLOv1算法,它与之前的目标检测算法如R-CNN等不同,R-NN等目标检测算法是一种两阶段(two-stage)算法,步骤为先在图片上生成候选框,然后利用分类器对这些候选框进行逐一的判断…

shell中的流程控制

条件判断在流程控制中的重要性 有了条件判断才能进行if判断即分支流程,才能进行case的多分支流程,才能进行for循环和while循环。 单分支流程判断 如上图所示,在shell编程中常使用英文状态下的分号来在Linux控制台一次性执行多条命令&#x…

FPGA中复位电路的设计

复位电路也是数字逻辑设计中常用的电路,不管是 FPGA 还是 ASIC 设计,都会涉及到复位,一般 FPGA或者 ASIC 的复位需要我们自己设计复位方案。复位指的是将寄存器恢复到默认值。一般复位功能包括同步复位和异步复位。复位一般由硬件开关触发引起…

把Deepin塞进U盘,即插即用!Deepin To Go来袭

前言 小伙伴之前在某篇文章下留言说:把Deepin塞进U盘的教程。 这不就来了吗? 事实是可以的。这时候你要先做点小准备: 一个大小为8GB或以上的普通U盘 一个至少64GB或以上的高速U盘 一个Deepin系统镜像文件 普通U盘的大概介绍&#xff1…

Xtuner微调

环境安装 studio-conda xtuner0.1.17 conda activate xtuner0.1.17 进入家目录 (~的意思是 “当前用户的home路径”) cd ~ 创建版本文件夹并进入,以跟随本教程 mkdir -p /root/xtuner0117 && cd /root/xtuner0117 拉取 0.1.17 的版…

海外盲盒APP开发,盲盒出海热!

当下,盲盒作为一种热门的娱乐休闲模式,在全球消费市场中都非常火热,各种热门盲盒商品刚一上线就受到了秒杀,受到了各地年轻消费者的追捧! 盲盒全球化对于我国盲盒企业来说是一个新的机会,有助于我国盲盒快…

C/S、B/S架构(详解)

一、CS、BS架构定义 CS架构(Client-Server Architecture)是一种分布式计算模型,其中客户端和服务器之间通过网络进行通信。在这种架构中,客户端负责向服务器发送请求,并接收服务器返回的响应。服务器则负责处理客户端的…

利用Python爬取天气数据并实现数据可视化,一个完整的Python项目案例讲解

要使用Python爬取天气数据并进行制图分析分几个步骤进行: 选择数据源:首先,你需要找到一个提供天气数据的API或网站。一些常见的选择包括:OpenWeatherMap、Weatherbit、Weather Underground等。 安装必要的库:你需要安…

数据库 | 试卷五试卷六试卷七

1. 主码不相同!相同的话就不能唯一标识非主属性了 2.从关系规范化理论的角度讲,一个只满足 1NF 的关系可能存在的四方面问题 是: 数据冗余度大,插入异常,修改异常,删除异常 3.数据模型的三大要素是什么&…

PythonWeb前端

摘要 学校的一门选修课,PythonWeb开发从入门到实践,用到的技术有Python,Flask,MySQL,前端三件套等,但因为是选修课,所以都只涉及到了一点点 Web前端基础 1.Web工作原理 概念: Web,万维网,一…

第21篇 Intel FPGA Monitor Program的使用<四>

Q:如何编译运行创建好的Intel FPGA Monitor Program工程呢? A:上一篇的Nios II汇编语言简易应用程序创建完成后,点击Intel FPGA Monitor Program的Action-->Compile即编译程序,在Info&Errors区域显示编译结果…

软件产品进行确认测试有什么好处?第三方软件测试机构分享

软件确认测试是一项旨在验证软件是否符合预期需求和规格的测试活动。通过确认测试,您可以确保软件的功能、性能和用户界面的符合程度,从而降低软件发布后出现问题的风险。 一、软件产品进行确认测试的好处   1、减少软件发布后修复问题的成本。通过及…

SpringBoot整合Minio(支持公有及私有bucket)

😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: SpringBoot整合Minio(支持公有及私有bucket) ⏱️ 创作时间&#xff1…

机器学习课程复习——决策树

Q:这三个算法哪一个可以用来做回归? CART Q:这学期学过的分类算法有哪些? 支持向量机、决策树、k近邻、逻辑回归、朴素贝叶斯、ANN (注意区分分类算法与聚类算法) Q:计算题 根据以上条件,生成相应的决策树 1. ID3算法

Jenkins教程-5-gitee自动化测试任务构建

上一小节我们学习了Jenkins构建gitlab自动化测试任务的方法,本小节我们讲解一下gitee自动化测试任务的构建方法。 接下来我们以windows系统为例,讲解一下构建实际自动化测试任务的具体步骤。 安装git和gitee插件 点击进入Jenkins插件管理页面 安装完插…

mac禁用电池睡眠-mac盒盖连接显示器

mac禁用电池睡眠-mac盒盖连接显示器-mac断点盒盖连接显示器 讲解:mac盒盖的时候连接显示器会睡眠并断开和显示器的连接,只有在电池->选项->选择使用电源适配器的时候防止睡眠,才可以连接电源线外界显示器 但是苹果的电池相当于手机电…