当前位置: 首页 > news >正文

力扣——113. 路径总和

113. 路径总和 II

给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。

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

示例 1:

输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22
输出:[[5,4,11,2],[5,8,4,5]]

示例 2:

输入:root = [1,2,3], targetSum = 5
输出:[]

示例 3:

输入:root = [1,2], targetSum = 0
输出:[]

提示:

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

这题呢其实也比较简单,但是有几个比较坑的点需要在这里说一下,以防各位入坑~

先看代码:

class Solution {
public:vector<vector<int>> res;vector<int> temp;void getAllRoute(TreeNode* root, int targetSum, int sum) {if (root == nullptr)//这里一定要先判断,不然sum += root->val会报错return;
//下面两行代码一定要放到if判断的前面,不然部分样例会报错,为什么这么写各位应该是清楚地~sum += root->val;temp.push_back(root->val);if (root->left == nullptr && root->right == nullptr &&sum == targetSum) {//判断是否到了叶子结点并且当前值是否等于目标值res.push_back(temp);}getAllRoute(root->left, targetSum, sum);getAllRoute(root->right, targetSum, sum);temp.pop_back();sum -= root->val;}vector<vector<int>> pathSum(TreeNode* root, int targetSum) {int sum = 0;if (root == nullptr)return res;getAllRoute(root, targetSum, sum);return res;}
};

看完代码,如果你觉得恍然大悟,那恭喜你,算是对回溯和深搜学的比较好的,但是如果看完代码觉得还是很懵的建议再去看看回溯,理解其中的含义再做几道题就明白了;深搜这里其实主要就是为了遍历整棵树,这个没啥可说的,不理解的评论区评论或者私信哦~

相关文章:

力扣——113. 路径总和

113. 路径总和 II 给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [5,4,8,11,null,13,4,7,2,null,null,5,1], t…...

C02S04-Ubuntu基本使用

一、Ubuntu初始配置 1. 使用root用户 Ubuntu系统默认只能使用普通用户&#xff0c;要想使用root用户&#xff0c;需要先设置root用户密码。 进入终端&#xff0c;配置root用户密码。按照提示输入密码。 sudo passwd root配置完成后&#xff0c;执行下面的密码&#xff0c;切换…...

C语言 | Leetcode C语言题解之第525题连续数组

题目&#xff1a; 题解&#xff1a; struct HashTable {int key, val;UT_hash_handle hh; };int findMaxLength(int* nums, int numsSize) {int maxLength 0;struct HashTable* hashTable NULL;struct HashTable* tmp malloc(sizeof(struct HashTable));tmp->key 0, tm…...

Qml-Transition的使用

Qml-Transition的使用 Transition的概述 Transition&#xff1a;定义了当状态发生改变时应用的动画属性animations : list&#xff1a;(Transition)过渡的动画属性enabled : bool&#xff1a;状态发生变化时&#xff0c;是否使能此过渡&#xff08;Transition&#xff09;动画…...

Notepad++检索包含多个关键字的行

Notepad检索包含多个关键字的行 在Notepad中&#xff0c;你可以使用正则表达式来检索包含多个关键字的行。以下是具体步骤&#xff1a; 打开Notepad&#xff0c;打开要搜索的文件。 点击菜单栏上的“搜索”选项&#xff0c;然后选择“查找”。 在弹出的查找对话框中&#xf…...

C语言:水仙花树,要求三位以上的N位整数每位的N次方等于数本身,全部输出出来

#include <stdio.h> int main() { int n; scanf("%d",&n);//这里是说明多少n位整数 int first1; int i1; while(i<n){//此while循环可以得到n位数的最小位,例如3位的100. first*10; i; } ifirst; whil…...

金融贷款口子超市V2源码 Thinkphp开发的贷款和超市平台源码(亲测源码含安装视频教程)

金融贷款口子超市V2源码 Thinkphp开发的贷款和超市平台源码 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/89938268 更多资源下载&#xff1a;关注我。...

redis的三种客户端

在 Redis 中&#xff0c;常用的 Java 客户端有三种&#xff1a;Jedis、Lettuce 和 Redisson。它们各有特点&#xff0c;适用于不同的场景。以下是它们的详细介绍&#xff0c;以及如何在 Spring Boot 中集成 Redis。 一、Redis 三种常用客户端详解 1.1 Jedis Jedis 是 Redis 官…...

边缘计算【智能+安全检测】系列教程--agx orin解决RTC时间问题

因为是离线运行&#xff0c;首要问题是时间不准确&#xff0c;就在主板上加装了纽扣电池&#xff0c;但是会有一系列问题&#xff0c;比如无法将RTC时间回写到系统时间&#xff0c;或者无法将系统时间写到RTC中等等一些列问题。为解决这些问题&#xff0c;一劳永逸的方式&#…...

数据库动态扩容:Java实现与技术策略

引言 数据库动态扩容是应对数据量增长和业务需求变化的关键技术。它允许数据库系统在不停机的情况下&#xff0c;通过增加或减少资源来适应业务负载的变化。本文将详细介绍数据库动态扩容的工作原理、技术策略&#xff0c;并提供Java代码示例。 1. 数据库动态扩容的工作原理 …...

Golang | Leetcode Golang题解之第525题连续数组

题目&#xff1a; 题解&#xff1a; func findMaxLength(nums []int) (maxLength int) {mp : map[int]int{0: -1}counter : 0for i, num : range nums {if num 1 {counter} else {counter--}if prevIndex, has : mp[counter]; has {maxLength max(maxLength, i-prevIndex)} …...

低代码架构浅析

低代码的定义与应用场景 定义 低代码平台是一种通过可视化工具和预定义组件实现快速应用开发的环境&#xff0c;显著减少了编码量。它旨在简化开发流程&#xff0c;加快应用交付&#xff0c;提高开发效率&#xff0c;使非技术人员也能参与应用开发。 应用场景 企业内部应用 …...

mysql字段是datetime如何按照小时来统计

在 MySQL 中&#xff0c;如果你有一个包含 DATETIME 类型的列&#xff0c;并且你想按照小时来统计数据&#xff0c;可以使用 DATE_FORMAT 函数将 DATETIME 列格式化为仅包含日期和小时的形式&#xff0c;然后使用 GROUP BY 子句来分组。 假设你有一个名为 events 的表&#xf…...

nacos快速启动

预备环境准备&#xff1a; 确保是64 bit OS&#xff08;推荐Linux/Unix/Mac&#xff09;&#xff0c;安装64 bit JDK 1.8并下载&配置&#xff0c;安装Maven 3.2.x并下载&配置。 下载源码或者安装包&#xff1a; 从Github上下载源码方式&#xff1a; git clone https://…...

@Excel若依导出异常/解决BusinessBaseEntity里面的字段不支持导出

今天发现所有实体类继承BusinessBaseEntity里面的这些通用字段不支持导出&#xff0c;debug时发现是这样&#xff1a; 导出效果 这里我把能查到的方法都汇总了&#xff0c;如果你也遇到这个异常&#xff0c;可以去逐步排查 1.先看库里有没有数据 2.看字段名是否对齐 3.所需要…...

虚拟机 Email 恢复专用工具:Virtual Machine Email Recovery

天津鸿萌科贸发展有限公司从事数据安全服务二十余年&#xff0c;致力于为各领域客户提供专业的数据恢复、数据备份解决方案与服务&#xff0c;并针对企业面临的数据安全风险&#xff0c;提供专业的相关数据安全培训。 天津鸿萌科贸发展有限公司是 SysTools 系列数据恢复、取证及…...

代理人工智能如何应对现代威胁的速度和数量

Seven AI首席执行官 Lior Div 讨论了代理 AI 的概念及其在网络安全中的应用。他解释了代理 AI 与传统自动化安全系统的区别&#xff0c;即代理 AI 具有更大的自主性和决策能力。 Div 强调&#xff0c;通过实时处理大量警报&#xff0c;代理 AI 特别适合对抗现代 AI 驱动的威胁…...

element-plus版本过老,自写选项弹框增删功能

title: element-plus版本过老&#xff0c;自写选项弹框增删功能 date: 2024-10-31 10:53:18 tags: element-plus 1.情景 发现代码怎么都用不了el-select的#footer插槽从而实现不了相关的操作&#xff0c;发现el-select自带的管理相关数据的属性popper-class用不了。 2.原因与…...

Python毕业设计选题:基于django+vue的宠物寄养平台的设计与实现

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 1. 前台系统功能模块 系统首页界面 用户注册界面 用户登录界面 宠物商城界面 宠物店…...

计算机后台服务-更新下载,重启————未来之窗行业应用跨平台架构

一在教育中应用 1. 提高效率&#xff1a;能够快速收集大量学生的卷子&#xff0c;节省了传统人工收集和整理的时间。 2. 准确性&#xff1a;减少了人工收卷过程中可能出现的错漏和混乱&#xff0c;确保每份卷子都能准确无误地被收集和记录。 3. 即时性&#xff1a;可以实时接收…...

OpenClaw小龙虾初体验【安装学习】

文章目录一、前言二、安装三、360安全龙虾四、腾讯龙虾4.1 文件移动4.2 应用分析4.3 Docker失败原因一、前言 最近小龙虾很火&#xff0c;不禁能说还能做&#xff0c;本质就类似木马&#xff0c;获取电脑权限&#xff0c;不禁能操作各应用还能联动外接设备。 那肯定要学习一下…...

OpenClaw安全方案:百川2-13B-4bits量化模型的本地化数据边界

OpenClaw安全方案&#xff1a;百川2-13B-4bits量化模型的本地化数据边界 1. 为什么我们需要本地化数据边界 去年我在帮一家初创公司做财务自动化方案时&#xff0c;遇到一个棘手问题&#xff1a;他们需要分析包含客户银行账号的Excel报表&#xff0c;但公司严格禁止数据上传到…...

快速验证汽车电子创意:用快马AI十分钟搭建CAN总线通信原型

在汽车电子和工业控制领域&#xff0c;CAN总线通信是最基础也最重要的技术之一。最近我在做一个车载设备的小项目&#xff0c;需要快速验证CAN通信功能。传统开发方式往往要花大量时间搭建底层驱动&#xff0c;但这次我尝试用InsCode(快马)平台的AI辅助功能&#xff0c;居然十分…...

基于GA - XGBoost的时间序列预测:抑制过拟合与参数优化

基于遗传算法优化算法优化XGBoost(GA-XGBoost)的时间序列预测 GA-XGBoost时间序列 采用交叉验证抑制过拟合问题 优化参数为迭代次数、最大深度和学习率 matlab代码&#xff0c;注&#xff1a;暂无Matlab版本要求 -- 推荐 2016B 版本及以上 注&#xff1a;采用 XGBoost 工具箱&a…...

FastAPI + TinyDB并发陷阱与实战:告别数据错乱的解决方案

核心摘要本文针对在FastAPI框架下使用TinyDB&#xff08;JSON文件数据库&#xff09;时遇到的并发写入数据冲突、错乱问题&#xff0c;深入浅出地解释了问题根源&#xff0c;并提供了从“文件锁”到“内存队列”再到“乐观锁”的三种由浅入深的实战解决方案&#xff0c;帮助你根…...

气象数据可视化实战:从雷达图到三维风场,前端技术栈全解析

气象数据可视化实战&#xff1a;从雷达图到三维风场&#xff0c;前端技术栈全解析 气象数据的可视化一直是前端开发领域最具挑战性的方向之一。想象一下&#xff0c;当你需要将每小时更新的全球气象数据转化为直观的动态图像&#xff0c;让气象学家一眼就能看出台风路径、让飞行…...

Neosegment库:面向七段数码管式NeoPixel的嵌入式驱动框架

1. Neosegment库概述&#xff1a;面向七段数码管式NeoPixel模块的嵌入式驱动框架Neosegment是一个专为Neosegment Digit模块设计的Arduino兼容嵌入式驱动库&#xff0c;其核心目标是将WS281x/SK6812系列智能LED的底层时序控制与七段数码管&#xff08;7-segment display&#x…...

ComfyUI-Custom-Scripts:20+实用功能全面解析与安装指南

ComfyUI-Custom-Scripts&#xff1a;20实用功能全面解析与安装指南 【免费下载链接】ComfyUI-Custom-Scripts Enhancements & experiments for ComfyUI, mostly focusing on UI features 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Custom-Scripts Comfy…...

FLAC3D 6.0 和 7.0 版本输出塑形区体积及破坏区域体积那些事儿

FLAC3D输出塑形区体积&#xff0c;适用于6.0和7.0版本&#xff0c;输出剪切破坏区域&#xff0c;张拉破坏区域体积&#xff0c;如图2中所示在岩土工程数值模拟领域&#xff0c;FLAC3D 是一款相当强大的工具。今天咱就聊聊如何在 FLAC3D 6.0 和 7.0 版本中输出塑形区体积&#x…...

2026最权威的十大降AI率神器实际效果

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 随着人工智能生成内容也就是 AIGC 被广泛应用&#xff0c;文本的机器化特征越发明显地呈现出…...