【专项】112. 路径总和

news2024/11/25 21:49:48

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

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

示例 1:
在这里插入图片描述

输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22
输出:true
解释:等于目标和的根节点到叶节点路径如上图所示。
示例 2:
在这里插入图片描述

输入:root = [1,2,3], targetSum = 5
输出:false
解释:树中存在两条根节点到叶子节点的路径:
(1 --> 2): 和为 3
(1 --> 3): 和为 4
不存在 sum = 5 的根节点到叶子节点的路径。
示例 3:

输入:root = [], targetSum = 0
输出:false
解释:由于树是空的,所以不存在根节点到叶子节点的路径。

提示:

树中节点的数目在范围 [0, 5000] 内
-1000 <= Node.val <= 1000
-1000 <= targetSum <= 1000

/**
 * 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 hasPathSum(TreeNode* root, int targetSum) {
        if (root == nullptr)
            return false;
        if (root->left == nullptr && root->right == nullptr)
            return targetSum == root->val;
        return hasPathSum(root->left, targetSum - root->val) || hasPathSum(root->right, targetSum - root->val);
    }
};

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

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

相关文章

深度学习部署笔记(八): CUDA RunTime API-2.1Hello CUDA

1. CUDA Driver API和CUDA Runtime API CUDA Driver API和CUDA Runtime API都是用于访问GPU的API。它们之间的区别在于它们的功能和使用方法不同。 CUDA Driver API是一个底层的API&#xff0c;它提供了对GPU硬件的底层访问&#xff0c;以及GPU硬件的直接控制。使用Driver AP…

聊天机器人分析,它值不值得做?

如今&#xff0c;聊天机器人热度持续走高。在您的网站或社交媒体上设置它们比以往任何时候都容易。然而&#xff0c;相当多的公司也犯了同样的错误。他们非常热衷于尝试聊天机器人&#xff0c;但随后是时候提出一些重要问题了。我们的聊天机器人工作了吗&#xff1f;他们表现如…

Flutter面试题解析-GridView详解与应用

一、前言Flutter 作为时下最流行的技术之一&#xff0c;凭借其出色的性能以及抹平多端的差异优势&#xff0c;早已引起大批技术爱好者的关注&#xff0c;甚至一些 闲鱼 &#xff0c; 美团 &#xff0c; 腾讯 等大公司均已投入生产使用。虽然目前其生态还没有完全成熟&#xff0…

CAD如何绘制A0/A1/A2/A3/A4图框?

在CAD制图时&#xff0c;设计师一般会使用企业的定制图框模板或者个人的特色图框模板&#xff0c;让设计方案更加标准化、规范化。对于新人设计师而言&#xff0c;完成CAD制图已经非常头疼了&#xff0c;图框的绘制更是手忙脚乱。那么是否有更加高效的方式来完成A0、A1、A2、A3…

Windows中UWP、WPF和Windows窗体的区别

Windows 中开发应用&#xff08;或者可以说客户端&#xff09;有三种方法&#xff1a; UWP&#xff08;Universal Windows Platform&#xff09;、WPF&#xff08;Windows Presentation Foundation&#xff09;和 Windows 窗体&#xff08;Win Forms&#xff09;。这三种方法在…

【word】插入代码排版

迟早会转战latex highlight不好用 highlight网站 http://codeinword.com/ 类似这样的网站还有很多。主要问题就是&#xff0c;复制的代码带有不容易编辑的行号以及前面绿色的标识 而且放到word里也不容易调整。还有word会自动默认格式&#xff0c;不方便加小图名之类的问题 …

【2023年的就业形势依旧严峻】

2023年口罩放开的第一年&#xff0c;也是第一个招聘会&#xff0c;挤满了求职者和用人单位&#xff0c;大多数都是想着重新开始&#xff0c;抓住金三银四的好时机&#xff0c;找到心仪的工作和符合岗位要求的人才&#xff0c;一起整装出发。我们理想的状态是&#xff0c;经济已…

【本地网站上线】ubuntu搭建web站点,并内网穿透发布公网访问

【本地网站上线】ubuntu搭建web站点&#xff0c;并内网穿透发布公网访问前言1. 本地环境服务搭建2. 局域网测试访问3. 内网穿透3.1 ubuntu本地安装cpolar3.2 创建隧道3.3 测试公网访问4. 配置固定二级子域名4.1 保留一个二级子域名4.2 配置二级子域名4.3 测试访问公网固定二级子…

Python 分支结构

Python 分支结构 应用场景 迄今为止&#xff0c;我们写的Python代码都是一条一条语句顺序执行&#xff0c;这种代码结构通常称之为顺序结构。然而仅有顺序结构并不能解决所有的问题&#xff0c;比如我们设计一个游戏&#xff0c;游戏第一关的通关条件是玩家获得1000分&#x…

【项目实战】SpringBoot整合Protobuf,实现基于RestTemplate的模拟客户端与服务端的远程调用

一、背景说明 项目中使用到了Protobuf&#xff0c;但是因为不知道怎么使用它&#xff0c;所以看起来很高大上&#xff0c;现在写一个简单的Demo来实现基于RestTemplate的模拟客户端与服务端的远程调用&#xff01; 二、实操代码 2.1 定义依赖POM文件 <dependencies>&…

花菁染料IR:IR808 Maleimide,IR 808 Mal,IR-808马来酰亚胺具有光稳定性好

【中文名称】IR-808马来酰亚胺【英文名称】 IR-808 Maleimide&#xff0c;IR-808 Mal【IR-808结 构 式】【CAS号】N/A【基团部分】IR-808【纯度标准】95%【包装规格】10mg&#xff0c;25mg&#xff0c;50mg&#xff0c;可以提供核磁图谱及相关质量证明图谱【是否接受定制】是【…

自动组策略(GPO)备份工具

Active Directory&#xff08;AD&#xff09;中的组策略对象&#xff08;GPO&#xff09;在控制用户和计算机账户的工作环境中起着至关重要的作用。单个GPO可以包含数百或数千个设置。它还可以链接到OU或域&#xff0c;从而控制位于其中的用户或计算机。当这样一个功能强大的AD…

C++:异常

在学习异常之前&#xff0c;来简单总结一下传统的处理错误的方式&#xff1a; 1. 终止程序&#xff0c;如assert&#xff0c;缺陷&#xff1a;用户难以接受。如发生内存错误&#xff0c;除0错误时就会终止程序。 2. 返回错误码&#xff0c;缺陷&#xff1a;需要程序员自己去查找…

利用蜜罐捕捉攻击实验(31)

预备知识 1、蜜罐的含义和作用 蜜罐(Honeypot)是一种在互联网上运行的计算机系统。它是专门为吸引并诱骗那些试图非法闯入他人计算机系统的人(如电脑黑客)而设计的&#xff0c;蜜罐系统是一个包含漏洞的诱骗系统&#xff0c;它通过模拟一个或多个易受攻击的主机&#xff…

数据分析:基于K-近邻(KNN)对Pima人糖尿病预测分析

数据分析&#xff1a;基于K-近邻(KNN)对Pima人糖尿病预测分析 作者&#xff1a;AOAIYI 作者简介&#xff1a;Python领域新星作者、多项比赛获奖者&#xff1a;AOAIYI首页 &#x1f60a;&#x1f60a;&#x1f60a;如果觉得文章不错或能帮助到你学习&#xff0c;可以点赞&#x…

小型双轮差速底盘三灰度循迹功能的实现

1. 功能说明 在小型双轮差速底盘样机前方安装3个 灰度传感器 &#xff0c;实现机器人沿下图所指定的跑道路线进行运动的效果。 2. 使用样机 本实验使用的样机为R023样机。 3. 功能实现 3.1 电子硬件 在这个示例中&#xff0c;我们采用了以下硬件&#xff0c;请大家参考&#…

likeshop社区团购v1.5.1更新

likeshop社区团购系统适用于初创业或者个人创业者&#xff0c;希望以低成本、高效益的方式开展本地电商业务&#xff0c;或者已经拥有线下实体店或实体店经验的商家&#xff0c;希望将线上业务扩展到社区团购平台&#xff0c;提升线上业务的营收。 likeshop社区团购V1.5.1版本…

第十五章 opengl之高级OpenGL(模板测试)

OpenGL模板测试模板函数物体轮廓模板测试 当片段着色器处理完一个片段后&#xff0c;模板测试就会开始执行。类似于深度测试&#xff0c;模板测试也可能会丢弃片段。被保留的片段会进入深度测试&#xff0c;可能会丢弃更多的片段。 模板测试是根据模板缓冲来进行的。一个模板缓…

什么是ChatGPT?

目录前言一、什么是GPT&#xff1f;二、什么是ChatGPT&#xff1f;三、ChatGPT应用场景四、ChatGPT未来展望五、OpenAI介绍前言 3月3号&#xff0c;早上6:30就有人发消息给我&#xff0c;来问我有关GPT API的事件。 那是因为3月2号&#xff0c;OpenAI 发布了ChatGPT 3.5的开放…

提高办公效率的免费网站有哪些

收藏一些免费好用的网站&#xff0c;在我们工作中需要用到的时候可以直接使用&#xff0c;提高我们的工作效率。小编就和大家分享10个可以提高我们办公效率的免费网站。 1.羽兔网软件下载-以设计类软件为主的免费软件下载网站 很多小白都不知道怎么下载软件&#xff0c;往往搜…