404.左叶子之和

news/发布时间2024/9/20 0:21:19

在这里插入图片描述

// 定义一个名为Solution的类
class Solution {// 定义一个公开的方法sumOfLeftLeaves,接受一个树节点类型的参数root,返回一个整数值public int sumOfLeftLeaves(TreeNode root) {// 基线条件:如果根节点为空,则返回0,因为没有叶子节点if (root == null) {return 0;}// 递归计算左子树中所有左叶子节点的值之和int leftValue = sumOfLeftLeaves(root.left);  // 访问左子树// 递归计算右子树中所有左叶子节点的值之和int rightValue = sumOfLeftLeaves(root.right); // 访问右子树// 初始化midValue为0,用于存储当前节点的左子节点(若其为叶子节点)的值int midValue = 0;// 判断当前节点的左子节点是否为叶子节点(既没有左子节点,也没有右子节点)if (root.left != null && root.left.left == null && root.left.right == null) {// 如果是叶子节点,则将其值赋给midValuemidValue = root.left.val;}// 计算当前节点的左叶子节点值(midValue)、左子树所有左叶子节点值之和(leftValue)及右子树所有左叶子节点值之和(rightValue)的总和int sum = midValue + leftValue + rightValue;// 返回当前节点及其子树的左叶子节点值之和return sum;}
}// TreeNode是一个假设存在的类,代表二叉树的节点,包含val(节点值)和left/right(指向左右子节点的引用)

这个方法的主要作用是计算一棵二叉树中所有左叶子节点的值之和。采用深度优先搜索(DFS)策略,通过递归遍历整棵树,当遇到满足条件的左叶子节点(无左右子节点)时,将它的值加入到总和中。

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

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

相关文章

JVM 补充——StringTable

具体哪些String是相等的,各种String的情况,看这个: https://javaguide.cn/java/basis/java-basic-questions-02.html#string-%E4%B8%BA%E4%BB%80%E4%B9%88%E6%98%AF%E4%B8%8D%E5%8F%AF%E5%8F%98%E7%9A%84 String的基本特性 String&#xf…

最佳实践:Websocket 长连接状态如何保持

WebSocket 是一种支持通过单个 TCP 连接进行全双工通信的协议,相较于传统的 HTTP 协议,它更适合需要实时交互的应用场景。此协议在现代 Web 应用中扮演着至关重要的角色,尤其是在需要实时更新和通信的场合下维持持久连接。本文将探讨 WebSock…

Harbor高可用(haproxy和keepalived)

Harbor高可用(haproxy和keepalived) 文章目录 Harbor高可用(haproxy和keepalived)1.Harbor高可用集群部署架构1.1 主机初始化1.1.1 设置网卡名和ip地址1.1.2 设置主机名1.1.3 配置镜像源1.1.4 关闭防火墙1.1.5 禁用SELinux1.1.6 设…

MySQL 存储过程批量插入总结

功能需求背景:今天接到产品经理核心业务表的数据压测功能,让我向核心业务表插入百万级的业务量数据,我首先想到的办法就是存储过程实现数据的批量 。 由于无法提供核心业务表,本文仅仅提供我刚刚自己创建的表bds_base_user 表做相…

Python爬虫实战第二例【二】

零.前言: 本文章借鉴:Python爬虫实战(五):根据关键字爬取某度图片批量下载到本地(附上完整源码)_python爬虫下载图片-CSDN博客 大佬的文章里面有API的获取,在这里我就不赘述了。 一…

化肥工业5G智能制造工厂数字孪生可视化平台,推进化肥行业数字化转型

化肥工业5G智能制造工厂数字孪生可视化平台,推进化肥行业数字化转型。随着科技的不断发展,数字化转型已经成为各行各业发展的必然趋势。在化肥工业领域,5G智能制造工厂数字孪生可视化平台的应用正在逐渐普及,为行业数字化转型提供…

我用 Go 开发了一个简易版 shell

之前看到 Github 有个 build-your-own-x 的仓库,觉得挺有意思的,有不少有趣的实现。我就想着多尝试实现些这样的小项目,看看不同的领域。一方面提升我的编程能力,另外,也希望能发现一些不错的项目。 今天的项目在 bui…

IK分词器的入门使用

目录 1. 前言2. IK分词器的特点3. 引入IK分词器的依赖4. 示例代码5.结论 1. 前言 中文分词是将连续的中文文本切分成一个个独立的词语的过程,是中文文本处理的基础。IK分词器是一个高效准确的中文分词工具,采用了"正向最大匹配"算法&#xff…

命令行启动mongodb服务器的问题及解决方案 -- Unrecognized option: storage.journal

目录 mongodb命令行启动问题 -- Unrecognized option: storage.journal问题日志:问题截图:问题来源:错误原因:解决方式: mongodb命令行启动问题 – Unrecognized option: storage.journal 同样是格式出问题的问题分析和…

tomcat基础介绍

目录 一、Tomcat的基本介绍 1、Tomcat是什么? 2、Tomcat的配置文件详解 3、Tomcat的构成组件 6、Tomcat的请求过程 一、Tomcat的基本介绍 1、Tomcat是什么? Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器…

Slurm作业系统

1、什么是计算机集群 计算机集群是由多台独立的计算机(节点)通过网络连接在一起,以共同完成任务的一种计算机系统结构。集群系统旨在提高性能、可用性和可扩展性。以下是计算机集群的一般结构和组成要素: 节点(Nodes&…

rust学习(tokio协程分析一)

代码: async fn doAsyncPrint(v:u32) {println!("start doAsyncPrint,v is {},tid is {:?}",v,system::myTid());//thread::sleep(Duration::from_secs(1));time::sleep(Duration::from_secs(10)).await;println!("end,v is {},tid is {:?}"…

使用正则表达式的SqlServer Check约束实例

有表如下;会员表,第一个字段是会员编号,varchar(24)类型;第二个字段是单位名称; 现在插入一条记录,会员编号为abcd;插入了; 下面要添加一个约束,会员编号字段只能为数字的…

适配器模式 详解 设计模式

适配器模式 适配器模式是一种结构型设计模式,其主要作用是解决两个不兼容接口之间的兼容性问题。适配器模式通过引入一个适配器来将一个类的接口转换成客户端所期望的另一个接口,从而让原本由于接口不匹配而无法协同工作的类能够协同工作。 结构 适配…

【自然语言处理】NLP入门(一):1、正则表达式与Python中的实现(1):字符串构造、字符串截取

文章目录 一、前言二、正则表达式与Python中的实现1. 字符串构造a. 使用str函数b. 单引号或双引号构造字符串c. 单双引号构造字符串的特殊用法d. 三重引号字符串e. 典例 2. 字符串截取a. 索引b. 切片c. 注意事项 一、前言 语言是一种使用具有共同处理规则的沟通指令的广义概念&…

用html编写的小广告板

用html编写的小广告板 相关代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</tit…

类加载的基本流程

⭐ 作者&#xff1a;小胡_不糊涂 &#x1f331; 作者主页&#xff1a;小胡_不糊涂的个人主页 &#x1f4c0; 收录专栏&#xff1a;JavaEE &#x1f496; 持续更文&#xff0c;关注博主少走弯路&#xff0c;谢谢大家支持 &#x1f496; 类加载 1. 加载2. 验证3. 准备4. 解析5. 初…

AI大预言模型——ChatGPT与AI绘图及论文高效写作

原文链接&#xff1a;AI大预言模型——ChatGPT与AI绘图及论文高效写作 2023年随着OpenAI开发者大会的召开&#xff0c;最重磅更新当属GPTs&#xff0c;多模态API&#xff0c;未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义&#xff0c;不亚于互联网…

JVM运行时数据区——虚拟机栈

文章目录 1、虚拟机栈概述1.1、StackOverflowError1.2、OOM异常 2、栈的存储单位3、局部变量表3.1、局部变量表简介3.2、Slot 4、操作数栈5、栈顶缓存技术6、动态链接7、方法的调用7.1、方法调用的分类7.2、虚方法与非虚方法7.3、关于invokedynamic指令7.4、方法重写的本质7.5、…

【Django】执行查询—跨关系查询中的跨多值关联问题

跨多值查询 跨越 ManyToManyField 或反查 ForeignKey &#xff08;例如从 Blog 到 Entry &#xff09;时&#xff0c;对多个属性进行过滤会产生这样的问题&#xff1a;是否要求每个属性都在同一个相关对象中重合。 filter() 先看filter()&#xff0c;通过一个例子看&#xf…
推荐文章