C++ 之LeetCode刷题记录(二十二)

😄😊😆😃😄😊😆😃

开始cpp刷题之旅。

目标:执行用时击败90%以上使用 C++ 的用户。

在这里插入图片描述

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
解释:由于树是空的,所以不存在根节点到叶子节点的路径。

解题:

先判断树是否为空,为空说明不存在根节点到叶子结点的路径,直接返回false;

当某一节点左节点和右节点都为空时,说明该节点是叶子结点。如果该节点的值=target,则说明存在根节点到叶子结点的距离为targetSum;

将左子树送入递归中,刷新当前的targetSum值未原值减去当前节点的value。

右子树同上。

左子树与右子树任一满足要求都说明存在根节点到叶子结点的距离等于targetSum值。

返回true。

class Solution {
public:
    bool hasPathSum(TreeNode* root, int targetSum) {
        if (root == nullptr) {
            return false;     //根节点返回false
        }
        if (targetSum == root->val && root->left == nullptr && root->right == nullptr) {
            return true;     //必须是叶子结点
        } 
        bool leftPath = hasPathSum(root->left, targetSum - root->val);  //刷新target值
        bool rightPath = hasPathSum(root->right, targetSum - root->val);

        return leftPath || rightPath;   //左节点或者右节点任一即可
    }
};

看一下提交记录:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[PHP]严格类型

PHP: 类型声明 - Manual

数字身份保护:Web3如何改变个人隐私观念​

随着Web3时代的来临,数字身份保护成为人们关注的焦点之一。Web3技术的引入不仅为个人隐私带来了新的挑战,同时也为我们重新思考和改变个人隐私观念提供了契机。本文将深入探讨Web3如何改变个人隐私观念,以及在数字身份保护方面的创新举措。 1…

计算机网络-H3C设备型号简介

H3C(新华三)的设备主要有:交换机、路由器、防火墙、无线AC、无线AP等组成。基本所有H3C设备都采用同一版本,基本命令都差不多,有V5、V7系列。 一、交换机系列 交换机有傻瓜式二层交换机,三层交换机,高端框式交换机。 交…

MATLAB环境下基于信号处理的EEG信号的睡眠纺锤波和K-复合波检测

睡眠纺锤波是正常人浅 - 中度睡眠脑电图的一种表现,随着睡眠深浅的变化而改变。睡眠纺锤波可以作为检测中枢神经机能正常与否的一个指标,对评估大脑发育与脑功能有重要意义。睡眠纺锤波在丘脑的后外侧腹侧核形成,通过投射系统投射到大脑皮层&…

CH395Q之CH395Q简介(一)

本节主要介绍以下内容: 1、TCP/IP协议栈是什么(了解) 2、CH395Q是什么(了解) 3、CH395Q工作命令(熟悉) 4、CH395Q & W5500 一、TCP/IP协议栈是什么 是一系列网络协议的总和&#xff0…

uni-app 微信小程序CI机器人自动化部署方案

uniApp微信小程序CI机器人自动化部署 1. 微信公众平台上,在开发设置里面小程序代码,将上传代码的服务IP地址填充下,生成一个上传秘钥下载下来 2. 将下载的秘钥文件放在uni-cli 项目的根目录下 3. npm 微信官方的miniprogram-ci模块 const c…

蓝桥杯省赛无忧 课件50 记忆化搜索

01 斐波那契数列 02 混境之地5 03 地宫取宝

Android开发学习-中级控件

Drawable Android把所有能够显示的图形都抽象为Drawable类(可绘制的)。 这里的图形不止是图片,还包括色块、画板、背景等。 包含图片在内的图形文件放在res目录的各个drawable目录下,其中drawable目录一般保存描述性的XML文件,而图片文件一…

Qlik Sense : IntervalMatch(离散匹配)

什么是IntervalMatch IntervalMatch 前缀用于创建表格以便将离散数值与一个或多个数值间隔进行匹配,并且任选匹配一个或多个额外关键值。 语法: IntervalMatch (matchfield)(loadstatement | selectstatement ) IntervalMatch (matchfield,keyfield…

问卷与量表的区别,以及量表的信效度分析应该如何测量

最近在各个平台总能收到这样一个问题 “问卷如何进行信效度分析?”每次小编提到信效度分析时都会特意强调,只有量表才需要进行信度与效度分析,普通问卷(单选、多选、填空等)并不需要。那么今天就再深入探讨一下问卷与量…

如何选择便捷安全的黄金交易平台?

黄金交易平台的介绍 黄金交易平台是一个提供方便、安全的方式进行黄金交易的网上平台。 投资者可以通过这些平台进行黄金的买卖,参与黄金市场的投资活动。 这些平台提供了一个简单易用的界面,让投资者可以方便地进行交易操作。 选择合适的黄金交易平台…

数字图像处理(实践篇)三十四 OpenCV-Python绘制椭圆

目录 一 涉及的函数 二 实践 一 涉及的函数 cv2.ellipse(img,center,axes,angle,start_angle,end_angle,color,thickness) 参数: ①<

【计网·湖科大·思科】实验五 IPV4地址-分类地址和构建超网

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的很重要&…

Markdown(2篇文章学会Markdown第二篇

目录 1. 图片1.1 行内形式图片&#xff1a;\!\[Alt text]\(/path/to/img.jpg "Optional title")1.2 参考形式图片&#xff1a;\!\[内容]\[1] \[1]: image_url "alt 提示" 2. 列表2.1 无序列表&#xff1a;*、或-2.2 有序列表&#xff1a;数字接着一个英文…

2024年【N1叉车司机】考试内容及N1叉车司机复审考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 N1叉车司机考试内容是安全生产模拟考试一点通生成的&#xff0c;N1叉车司机证模拟考试题库是根据N1叉车司机最新版教材汇编出N1叉车司机仿真模拟考试。2024年【N1叉车司机】考试内容及N1叉车司机复审考试 1、【多选题…

JDK1.8新特性(Day24)

Lambda表达式 介绍 Lambda表达式是一种没有名字的函数,也可称为闭包&#xff0c;是Java 8 发布的最重要新特性。本质上是一段匿名内部类&#xff0c;也可以是一段可以传递的代码。还有叫箭头函数的... 闭包 闭包就是能够读取其他函数内部变量的函数,比如在java中,方法内部的局…

Pyecharts魔法笔:探索多彩K线图的绘制与定制

标题&#xff1a;Pyecharts绘制多种炫酷K线图参数说明代码实战 在数据可视化领域&#xff0c;K线图是股票市场中常用的一种图表类型&#xff0c;用于展示一段时间内的开盘价、收盘价、最高价和最低价。Pyecharts是一个强大的Python可视化库&#xff0c;支持绘制各种图表&#…

【开源】基于JAVA+Vue+SpringBoot的网上药店系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 药品类型模块2.3 药品档案模块2.4 药品订单模块2.5 药品收藏模块2.6 药品资讯模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 角色表3.2.2 药品表3.2.3 药品订单表3.2.4 药品收藏表3.2.5 药品留言表…

防御保护笔记02

防火墙 防火墙的主要职责在于&#xff1a;控制和防护 ---- 安全策略 --- 防火墙可以根据安全策略来抓取流量 防火墙分类 按物理特性划分 软件防火墙 硬件防火墙 按性能划分 百兆级防火墙 吞吐量&#xff1a;指对网络、设备、端口、虚电路或其他设施&#xff0c;单位时间内成…

【JAVA语言-第16话】集合框架(三)——Set、HashSet、LinkedHashSet、TreeSet集合的详细解析

目录 Set集合 1.1 概述 1.2 特点 1.3 HashSet集合 1.3.1 概述 1.3.2 哈希表 1.3.3 哈希值 1.3.4 练习 1.3.5 HashSet存储自定义类型元素 1.4 LinkedHashSet集合 1.4.1 概述 1.4.2 特点 1.4.3 练习 1.5 TreeSet集合 1.5.1 概述 1.5.2 练习 1.6 HashSet、Lin…