112. 路径总和(递归法)

news2024/9/27 9:24:18

目录

一:题目:

二:代码:

三:结果:


一:题目:

给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。

叶子节点 是指没有子节点的节点。

二:代码:

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    bool traversal(TreeNode* root,int count){
        if(!root->left&&!root->right&&count==0) return true;
        if(!root->left&&!root->right) return false;
        if(root->left){
            count-=root->left->val;
            if(traversal(root->left,count)) return true;
            count+=root->left->val;
        }
        if(root->right){
            count-=root->right->val;
            if(traversal(root->right,count)) return true;
            count+=root->right->val;
        }
        return false;
    }
    bool hasPathSum(TreeNode* root, int targetSum) {
        if(!root) return false;
        return traversal(root,targetSum-root->val);
    }
};

三:结果:

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

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

相关文章

C语言基础(二十七)

1、位字段(Bit-fields)也是一种数据结构,允许在结构体(struct)或联合体(union)中定义其成员占用特定的位数。对于需要精确控制内存布局或处理硬件寄存器映射等场景非常有用。位字段使得开发者能…

leedCode - - - 动态规划

目录 1.斐波那契数列(LeetCode 509) 2.零钱兑换( LeetCode 322 ) 3.爬楼梯( LeetCode 70 ) 4.不同路径( LeetCode 62 ) 5.最长递增子序列(LeetCode 300) …

LLM(三):基于ChatGPT构建一个问答系统

以电商客服助手为例,通过链式调用语言模型,结合多个Prompt实现复杂的问答与推理功能。 一,基础知识了解 1.1 语言模型 大语言模型(LLM)是通过预测下一个词的监督学习方式进行训练的。具体来说,首先准备一…

SCP拷贝失败解决办法

1. 现象: 今天在提交代码的时候,提示hooks文件不存在,需要下载。 我之前用scp -p -P 1111 xxxxgerrit.xxxx:hooks/commit-msg$(gitdir)/hooks/ 就能下载, 但是更新系统后下载失败,显示 subsystem request failed …

哪个牌子的电容笔好用又实惠?西圣、绿联、摩米士电容笔实测大比拼

​现在市面上的电容笔很多,在选择时会让人感到很纠结。那么多的选择,究竟哪个牌子的电容笔好用又实惠呢?一款优质的电容笔应考虑握持舒适度、笔尖材质、电池续航能力以及书写流畅度等因素。作为一位多年的数码爱好者,我今天将针对…

Elasticsearch 再次开源

作者:来自 Elastic Shay Banon [D.N.A] Elasticsearch 和 Kibana 可以再次被称为开源了。很难表达这句话让我有多高兴。我真的激动得跳了起来。Elastic 的所有人都是这样的。开源已经融入我的 DNA,也融入了 Elastic 的 DNA。能够再次将 Elasticsearch 称…

Linux驱动(一):环境搭建及介绍

目录 前言一、硬件配置及SDK包1.硬件核心芯片2.瑞芯微原厂SDK包 二、环境镜像文件的获取1.镜像文件的组成及启动流程2.获取环境所需的镜像文件2.1 uboot.img2.2 boot.img2.3 rootfs.img2.4 整体编译 三、镜像文件烧录 前言 自用自用自用,晚上睡觉前复盘用。当然&…

免费批量Excel文件合并、拆分软件

软件介绍 下载地址:https://pan.quark.cn/s/ae860a4e2ccb 1.多个XLS或XLSX格式EXCEL文件合并,合并后可使用数据透视表进行相关操作。 2.自动合并多个EXCEL文件的第一个工作表,并汇总成一张表,可根据所有列标题需要指定需要的列。 …

pdf压缩到指定大小,分享2024年最新7款pdf压缩免费版

pdf是一种全球广泛使用的文件格式,它可以在不损失质量或文本对齐的情况下安全传输文档。然而,许多文件共享应用和网站对于可以上传或分享的pdf文件大小设定了限制。在这种情况下,您可能需要一款可以帮助您减小pdf文件大小的软件。pdf压缩免费…

《汇编语言》第11章——实验11编写子程序

编写一个子程序,包含任意字符,以0结尾的字符串中的小写字母变成大写字母,描述如下。 名称:letterc 功能:将以0结尾的字符串中的小写字母变成大写字母 参数:ds:si指向的字符串首地址 assume cs:codesg d…

本地部署 Google Gemma 开源模型

Google Gemma 是 Google AI 团队开发的基于Transformer的轻量级大语言模型,Gemma 模型已开源并在各种硬件平台上保持良好性能,记录下本地部署过程并在多种情景下使用情况。 一、环境配置 1、下载并安装Ollama 在 Windows 上下载 Ollama ,选…

什么牌子的可视耳勺最好用?力荐四款热门品牌!

可视挖耳勺近几年越来越火爆,各种款式层出不穷,在可视挖耳勺的挑选上,我需要提醒大家一定要避雷劣质可视挖耳勺产品,劣质可视挖耳勺产品普遍不做核心性能的反复调教,成像清晰度低、耳勺出现发烫、性能不稳定等问题是时…

web渗透:CSRF漏洞(跨站请求伪造)

目录 CSRF漏洞 深入研究 CSRF攻击常见于哪些类型的网站? 如何通过HTTP Referer头来防范CSRF攻击? 为什么设置Cookie的SameSite属性对预防CSRF有帮助? 导图 CSRF漏洞 CSRF(Cross-Site Request Forgery,跨站请求伪…

MySQL——事务与存储过程(一)事务管理(4)事务的隔离级别

数据库是多线程并发访问的,所以很容易出现多个线程同时开启事务的情况,这样就会出现脏读、重复读以及幻读的情况,为了避免这种情况的发生,就需要为事务设置隔离级别。在 MySQL 中,事务有4种隔离级别,接下来…

Linux安装Docker与基本指令

1、什么是Docker Dokcer是一种开源平台,主要用于创建、部署和管理容器化应用程序,它通过将应用程序以及所有的依赖打包到一个轻量级的、可移植的容器中,使得应用可以在任何环境中一致的运行! 1.1、Docker的优点 一致性和可移植性 跨环境一致…

删除微信重复文件的简易工具

去我的个人博客观看,观感更佳哦,😙😙 前言 !!!!温馨提示:假如你是小白,啥都不懂,请直接跳到文章的最后!!! 原本我是没想写这篇文章,契机是某一天我突然打开微信的存储空间占用才发…

5款手机版的影视解说文案生成器,无须下载更方便!

在这个自媒体的红利时期,影视解说创作占据了内容创作的很大一部分。而影视解说文案则是帮助观众更好地理解和欣赏影视作品的重要点。随着手机的普及,越来越多的人希望能够在手机上方便地生成影视解说文案创作。今天,我们就来介绍5款手机版的影…

Shared memory bank conflicts

共享内存和bank: 在CUDA架构中,共享内存是一个非常快速的内存类型,它位于每个线程块内部并为该线程块内的所有线程提供服务。为了实现高吞吐量的访问,共享内存被划分为多个独立的存储区域,称为“banks”。每个bank可以在单个时钟…

创新微MinewSemi推出基于Nordic nRF54系列芯片 SoC 低功耗蓝牙5.4模组

在物联网技术飞速发展的今天,创新微MinewSemi隆重推出基于Nordic最新nRF54系列芯片SoC的ME54BS01和ME54BS02全新低功耗蓝牙5.4模组。这两款模组的问世,标志着我们在推动物联网设备智能化、高效化道路上的迈出了坚实的一步,展示了对未来技术的…

回归预测|基于卷积神经网络-鲸鱼优化-最小二乘支持向量机的数据回归预测Matlab程序 CNN-WOA-LSSVM

回归预测|基于卷积神经网络-鲸鱼优化-最小二乘支持向量机的数据回归预测Matlab程序 CNN-WOA-LSSVM 文章目录 一、基本原理1. 数据预处理2. 特征提取(CNN)3. 参数优化(WOA)4. 模型训练(LSSVM)5. 模型评估和优…