112.路径总和

在这里插入图片描述

// 定义一个名为 Solution 的类
class Solution {// 定义一个名为 hasPathSum 的公共方法,接收一个 TreeNode 类型的根节点 root 和一个整数 targetSum 作为参数// 方法返回一个布尔值,表示从根节点开始是否存在一条路径,使得路径上所有节点的值之和等于给定的目标值 targetSumpublic boolean hasPathSum(TreeNode root, int targetSum) {// 基本终止条件:如果根节点为空,那么不存在这样的路径,直接返回 falseif(root == null){return false;}// 更新目标值:从当前节点的值中减去目标和targetSum -= root.val;// 特殊情况:如果当前节点是一个叶子节点(即左右子节点都为空),则检查此时的目标值是否为 0,// 若为 0,说明找到了一条从根节点到叶子节点、路径和为目标值的路径,返回 trueif(root.left == null && root.right == null){return targetSum == 0;}// 递归遍历左子树if(root.left != null){// 调用自身方法查找左子树中是否存在满足条件的路径boolean left = hasPathSum(root.left, targetSum);// 如果在左子树中找到了满足条件的路径,则直接返回 trueif(left){return true;}}// 递归遍历右子树if(root.right != null){// 调用自身方法查找右子树中是否存在满足条件的路径boolean right = hasPathSum(root.right, targetSum);// 如果在右子树中找到了满足条件的路径,则直接返回 trueif(right){return true;}}// 如果左右子树都没有找到满足条件的路径,则返回 falsereturn false;}
}

这个方法采用递归的方式遍历二叉树,对每一个节点,首先检查它是否为叶子节点(左右子节点均为空),如果是且路径和恰好等于目标值,就返回 true;否则,分别递归地在其左子树和右子树中查找是否存在满足条件的路径。最后,如果在左右子树中都没有找到满足条件的路径,则返回 false。

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

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

相关文章

18个惊艳的可视化大屏(第12辑):智慧校园与教育方向

智慧校园可视化大屏通过数据可视化技术,将学校各个方面的数据信息进行展示,可以提高信息公开透明度、优化校园管理、提高学生教育质量和提高校内活动宣传效果等。 1提高信息公开透明度: 通过大屏幕展示校园各个方面的数据信息,可…

奔跑吧,前端er!前端五大方向技能罗列,webGL、AI、桌面、游戏

经常看到头条上前端们争论各种框架的优劣,然后相互争吵不休,其实技术也好,框架也好,都是服务于项目需求的,争论的铁子们都站在自己的项目角度来品评工具,肯定是公说公有理婆说婆有理啦。 技术和框架是中性的…

【latex】\IEEEpubid版权声明与正文内容重叠

问题描述 撰写IEEE Trans论文时,出现版权声明文字\IEEEpubid与正文内容重叠的问题: 原因分析: 在使用模板时,不小心将以下命令删除了: \IEEEpubidadjcol 解决方案: 在需要换页的位置附近添加以上命令&…

在Jupyter-lab中使用RDKit画分子2D图

在Jupyter-lab中使用RDKit画分子2D图 在做完分子对接后,想看看筛选后的分子的结构。因此想利用Jupyter-lab来画分子的2D图。 1. 安装Jupyter-lab与RDKit 系统:Win11已安装conda RDKit 是一个功能强大、灵活易用的化学信息学工具包,广泛应…

w30使用python调用shell脚本

使用python脚本去实现永恒之蓝漏洞攻击 实验环境 攻击工具:pythonmsfconsole 靶场:win7 和 kali实验目的 演示python脚本调用过程 实验步骤 1.写一个永恒之蓝的攻击脚本,定义为blue.rc use exploit/windows/smb/ms17_010_eternalblue …

Spark(2)-基础tranform算子(一)

一、算子列表 编号名称1map算子2flatMap算子3filter算子4mapPartitions算子5mapPartitionsWithIndex算子6keys算子7values算子8mapValues算子9flatMaplValues算子10union算子11reducedByKey算子12combineByKey算子13groupByKey算子14foldByKey算子15aggregateByKey算子16Shuff…

深度学习工具之tokens计算器

1.什么是Token Token是GPT处理文本的基本单位。Token可以是一个字、一个词语或特定语言中的一个字符。它们负责将输入的文本数据转换为 GPT 可以处理的数据格式。每个 GPT 模型都有一个预设的最大 Tokens 数量,例如,GPT-3 每次调用允许处理的最大 Token…

韦东山嵌入式Liunx入门驱动开发五

文章目录 一、驱动程序基石1-1 休眠与唤醒1-2 POLL机制1-3 异步通知(1) 异步通知程序解析(2) 异步通知机制内核代码详解 1-4 阻塞与非阻塞1-5 定时器(1) 内核函数(2) 定时器时间单位 1-6 中断下半部 tasklet 本人学习完韦老师的视频,因此来复习巩固,写以…

《幻兽帕鲁》游戏对服务器性能的具体要求是什么?

《幻兽帕鲁》游戏对服务器性能的具体要求是什么? CPU:官方最低要求为i5-3570K,但在多人游玩时可能会有明显卡顿。此外,还有建议选择4核或更高性能的处理器,以确保游戏运行流畅。 内存:对于不同人数的联机&…

苹果ios群控软件开发常用源代码分享!

在移动软件开发领域,苹果设备由于其封闭性和安全性受到了广大开发者的青睐,然而,这也为开发者带来了一些挑战,特别是在进行群控软件开发时。 群控软件是指可以同时控制多台设备的软件,这在自动化测试、批量操作等场景…

数据要素:数字化转型中的新“金矿”及其发展潜力

作为一名在数字化转型项目中摸爬滚打的实践者,我们见证了数据从简单的信息处理工具逐渐演变为驱动经济社会发展的关键要素。近日,多部门联合发布的《“数据要素”三年行动计划(2024—2026年)》更是将数据要素的重要性提升到了新的…

C++ //练习 10.15 编写一个lambda,捕获它所在函数的int,并接受一个int参数。lambda应该返回捕获的int和int参数的和。

C Primer(第5版) 练习 10.15 练习 10.15 编写一个lambda,捕获它所在函数的int,并接受一个int参数。lambda应该返回捕获的int和int参数的和。 环境:Linux Ubuntu(云服务器) 工具:v…

十六、异常和File

异常和File 一、异常1.1异常的分类1.2 异常的作用1.3 异常的处理方式1.3.1 JVM默认的处理方式1.3.2 自己处理(捕获异常)1.3.3 自己处理(灵魂四问) 1.4 异常中的常见方法1.5 抛出异常综合练习(键盘录入数据)…

基于springboot+vue的社区养老服务平台

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

黑马点评-商户查询业务

缓存原理 本文的业务就是redis的经典应用,标准的操作方式就是查询数据库之前先查询缓存,如果缓存数据存在,则直接从缓存中返回,如果缓存数据不存在,再查询数据库,然后将数据存入redis。 缓存更新策略 根据…

Spring重点记录

文章目录 1.Spring的组成2.Spring优点3.IOC理论推导4.IOC本质5.IOC实现:xml或者注解或者自动装配(零配置)。6.hellospring6.1beans.xml的结构为:6.2.Spring容器6.3对象的创建和控制反转 7.IOC创建对象方式7.1以有参构造的方式创建…

【OneAPI】猫狗类别检测API

OneAPI新接口发布:猫狗类别检测 45种狗狗类别和15种猫猫类别检测。 API地址:POST https://oneapi.coderbox.cn/openapi/api/detect/dogcat 请求参数(body) 参数名类型必填含义说明imageUrlstring是图片地址网络图片地址&#…

Vue路由(黑马程序员)

路由介绍 将资代码/vue-project(路由)/vue-project/src/views/tlias/DeptView.vue拷贝到我们当前EmpView.vue同级,其结构如下: 此时我们希望,实现点击侧边栏的部门管理,显示部门管理的信息,点击员工管理,显…

【周总结平淡但不平凡的周末】

上周总结 根据系统生产环境的日志文件,写了个脚本统计最近使用我们系统的用户的手机型号以及系统,帮助聚焦主要测试的机型,以及系统类型 依然是根据时区不同对项目进行改造,还有一个开发好的接口需要下周联调 2024/3/3 晴…

QT Mingw32/64编译ffmpeg源码生成32/64bit库以及测试

文章目录 前言下载msys2ysamFFmpeg 搭建编译环境安装msys2安装QT Mingw编译器到msys环境中安装ysam测试 编译FFmpeg测试 前言 FFmpeg不像VLC有支持QT的库文件,它仅提供源码,需要使用者自行编译成对应的库,当使用QTFFmpeg实现播放视频以及视频…