二叉树之左叶子的和

题目:

给定二叉树的根节点 root ,返回所有左叶子之和。

示例 1:

输入: root = [3,9,20,null,null,15,7] 
输出: 24 
解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24

示例 2:

输入: root = [1]
输出: 0

这个还是很简单的只要抓住左叶子的要点

判断当前节点是不是左叶子是无法判断的,必须要通过节点的父节点来判断其左孩子是不是左叶子。

如果该节点的左节点不为空,该节点的左节点的左节点为空,该节点的左节点的右节点为空,则找到了一个左叶子

注意点:如果用cur->left == null && cur->right == null作为判断结束条件的话

在进入递归函数是需要加一个if判断是否为空

如果用cur==null来作为结束条件就不用了

代码如下:

class Solution {

public:

    int sum = 0;

    void order(TreeNode* cur)

    {

        if(cur -> left== nullptr&&cur->right == nullptr)return;

        if(cur -> left != nullptr && cur -> left -> left == nullptr && cur->left->right == nullptr)

        {

            sum += cur->left->val;

        }

        if(cur->left)order(cur->left);

        if(cur->right)order(cur->right);

    }

    int sumOfLeftLeaves(TreeNode* root)

    {

        order(root);

        return sum;

    }

};

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

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

相关文章

时间瑾眼中的IT行业现状与未来趋势

文章目录 技术革新与行业应用IT行业的人才培养与教育人工智能与机器学习的演进数据安全与隐私保护可持续发展与绿色技术社会责任与道德规范 随着技术的不断进步,IT行业已成为推动全球经济和社会发展的关键力量。从云计算、大数据、人工智能到物联网、5G通信和区块链…

朋友在阿里测试岗当HR,给我整理的面试题文档

以下是软件测试相关的面试题及答案,欢迎大家参考! 1、你的测试职业发展是什么? 测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年积累测试经验&…

动手学深度学习18 预测房价竞赛总结

动手学深度学习18 预测房价竞赛总结 李沐老师代码AutoGluonh2o集成学习automlQA 视频: https://www.bilibili.com/video/BV15Q4y1o7vc/?vd_sourceeb04c9a33e87ceba9c9a2e5f09752ef8 代码: https://www.bilibili.com/video/BV1rh411m7Hb/?vd_sourceeb04…

笔灵ai答辩ppt、轻竹PPT、AIPPT、iSlide:这四款AI PPT工具有何独特优势?

提起PPT,大家的第一反应就是痛苦。经常接触PPT的学生党和打工人,光看到这3个字母,就已经开始头痛了: 1、PPT内容框架与文案挑战重重,任务艰巨,耗费大量精力。 2、PPT的排版技能要求高,并非易事…

springboot整合s3,用ImageIO进行图片格式转换

上次用laravel进行了一些s3得整合&#xff0c;可以看出来其实蛮简单得。 先导包 <dependency><groupId>software.amazon.awssdk</groupId><artifactId>s3</artifactId></dependency> 然后在配置类中写bean private static final String …

【软考】设计模式之观察者模式

目录 1. 说明2. 应用场景3. 结构图4. 构成5. 优缺点5.1 优点5.2 缺点 6. java示例 1. 说明 1.定义对象间的一种一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都得到通知并被自动更新。2.也称为模型-视图模式、源-收听者模式或从属者…

关于Double接收到字符串 插入失败 Overflow Exception trying to bind NaN

前端计算 传值给后端NaN 后端接收到之后直接执行插入操作 报错 Error updating database. Cause: java.sql.SQLException: Internal Error: Overflow Exception trying to bind NaN 如果前端传值 NaN 或者 Infinity java是不报错的 只有插入报错 double result1 10.0 / 0; /…

神经网络复习--数学相关基础知识

文章目录 矩阵范数卷积激活函数信息熵 矩阵 标量&#xff1a;一个标量就是一个单独的数向量&#xff1a;一个向量是一列数。这些数是有序排列的。通过次序中的索引&#xff0c;我们可以确定每个单独的数矩阵&#xff1a;矩阵是一个二维数组&#xff0c;其中的每个元素被两个索…

华为机试打卡 HJ5 进制转换

要机试了&#xff0c;华孝子求捞&#xff0c;功德 描述 写出一个程序&#xff0c;接受一个十六进制的数&#xff0c;输出该数值的十进制表示。 数据范围&#xff1a;保证结果在 1≤&#x1d45b;≤2^31−1 输入描述&#xff1a; 输入一个十六进制的数值字符串。 输出描述…

【JAVA】递归

接着上一讲继续&#xff0c;内容不多&#xff0c;讲解一下递归相关内容。 1. 生活中的故事 从前有坐山&#xff0c;山上有座庙&#xff0c;庙里有个老和尚给小和尚将故事&#xff0c;讲的就是&#xff1a; "从前有座山&#xff0c;山上有座庙&#xff0c;庙里有个老和尚…

uos server 无法通过ssh工具连接

问题现象 uos server 服务器操作系统 在虚拟机中安装好之后&#xff0c;防火墙已经关闭&#xff0c;ssh服务已经启动&#xff0c;但通过finalshell等ssh工具连接报错 &#xff1a;java.net.ConnectException: Connection timed out: connect 经过确认 防火墙已关&#xff0c;s…

48.乐理基础-音符的组合方式-休止符

休止符 音乐中总有一些停顿的地方&#xff0c;一次停顿多久是创作人固定好的&#xff0c;休止符就是用来表示每一次停顿多久 需要停顿的位置就用 0 来表示&#xff0c;数字 0 就是简谱中的休止符 音符有全音符、二分音符、四分音符、八分音符、十六分音符、三十二分音符等&…

你写代码,会关注时间复杂度吗?

虽然面试的时候总是被问到这个问题&#xff0c;但你写代码的时候&#xff0c;真的会想到这个问题吗&#xff1f;时间复杂度&#xff0c;说的当然不是你写的代码执行用了多长时间&#xff0c;而是代码执行语句的次数。 目录 每行代码都需要注意 计算方法 1 例如常量增长 2 …

五子棋对战(网页版)

目录 一、项目背景 用户模块 匹配模块 对战模块 二、核心技术 三、相关知识 WebSocket 原理 报文格式 代码 服务器代码 客户端代码 四、项目创建 4.1、实现用户模块 编写数据库代码 数据库设计 配置MyBatis 创建实体类 创建UserMapper 创建UserMapper接口 实现UserMapper.xml 前…

train_gpt2.c

llm.c/train_gpt2.c at master karpathy/llm.c (github.com) 源码 /* This file trains the GPT-2 model. This version is the clean, minimal, reference. As such: - it runs on CPU. - it does not make the code too complex; it is readable. - it does not use any p…

等保测评技术方案(五)

&#xff08;八&#xff09;漏洞扫描方案 1.参与人员 乙方工程师&#xff1a;谭 然、张 剑等。 范围经过双方确认&#xff0c;此次评估的对象包括&#xff1a; 2.网络设备 IP 地址 设备型号 备注 / / / / / / 以现场测评实际数据为准 3.应用系统 地址 …

SpringBoot集成Curator实现Watch事件监听

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 Zookeeper是一个Ap…

缓存不经常更新的动态信息:策略与 Nginx 配置指南

在处理不经常更新的动态信息时&#xff0c;合理配置缓存能够显著提高网站的性能和用户体验。通过缓存这类内容&#xff0c;我们可以减少对后端服务的请求压力&#xff0c;加快内容的加载速度。下面我们会探讨如何在 Nginx 中配置缓存以最大化这种类型的动态内容的效益。 理解动…

kotlin基础知识

val(value的简写)用来声明一个不可变的变量。(只读变量) var(variable的简写)用来声明一个可变的变量。(可读写变量) 在变量声明中指定数据类型时&#xff0c;应在冒号后面添加一个空格。 先声明变量在声明变量的类型。 val a &#xff1a;Int 10 kotlin拥有类型推导机制&…

有哪些可以用电脑做的挣钱副业,有电脑就行

以下是一些可以用电脑做的挣钱副业 1. 写作和翻译 可以在各大网络平台上接单进行写作或者翻译。 2. 做任务 还在做致米宝库这个软件&#xff0c;软件每天会发布一些项目任务&#xff0c;也能学到一些网上赚钱的知识技术&#xff0c;我平时就做些简单任务和一个虚拟项目。 任…