(刷题笔记) Leetcode 112. 路径总和

【定位模块项目实战】正态分布变换(NDT)定位及建图(依赖高精度点云地图和三维激光雷达的定位方案) 系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、正态分布变换(NDT)定位解决的主要问题二、正态分布变换(NDT)定位的核心思想三、NDT算法流程1.多元正态分布概念2.网格化并计算正态分布参数3.变换参数和最大似然四、使用C++实现NDT配准参考资料 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对依赖高精度地图和激光雷达的定位技术–正态分布变换(NDT)定位做个简单的介绍,具体 阅读详情

题目

给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。

说明: 叶子节点是指没有子节点的节点。

示例:
给定如下二叉树,以及目标和 sum = 22,

          5
         / \
        4   8
       /   / \
      11  13  4
     /  \      \
    7    2      1

返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5->4->11->2。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/path-sum

解题思路

这道题我总觉得我写过,但是找了一下写过的题目,只有类似的,没有完全一样的。
本质上这道题是所有路径和的变体。
我果然更习惯写非递归一些,递归我还特意去看了一下我前面写的路径和才写出来。
非递归的思路就是维护一个栈,存储结点,以及到那个结点的路径和,然后在叶子结点处比对是否等于指定值。
递归的思路类似,用一个vector存储到叶子结点的路径和,然后递归完成后比对是否等于指定值。
我建了个qq群,有兴趣的可以加一下575474684,大家可以互相督促一起刷题。

代码(C++)

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    bool hasPathSum(TreeNode* root, int sum) {

        stack<pair<TreeNode*,int>> st;

        TreeNode* temp=root;
        int num=0;

        while(!st.empty()||temp){

            while(temp){
                
                num+=temp->val;
                st.push(make_pair(temp,num));
                temp=temp->left;
            }

            temp=st.top().first;
            num=st.top().second;
            st.pop();
            if(temp->left==NULL&&temp->right==NULL){
                if(sum==num){
                    return true;
                }
            }

            temp=temp->right;
        }

        return false;
    }
};

递归

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:

    void pathsum(TreeNode* root,int num,vector<int>& res){

        if(root==NULL) return;
        num+=root->val;
        if(root->left==NULL&&root->right==NULL){
            res.push_back(num);
        }

        pathsum(root->left,num,res);
        pathsum(root->right,num,res);

    }

    bool hasPathSum(TreeNode* root, int sum) {

        vector<int> res;
        int num=0;
        pathsum(root,num,res);

        for(int i=0;i<res.size();++i){
            if(res[i]==sum){
                return true;
            }
        }

        return false;
        
    }
};
端到端自动驾驶:特斯拉FSD Beta技术拆解 端到端自动驾驶:特斯拉FSD Beta技术拆解 ,人工智能,计算机视觉,大模型,AI,这篇文章围绕特斯拉FSD Beta的端到端自动驾驶技术展开,先介绍端到端自动驾驶的定义、与传统方案的区别及FSD Beta的特点,再阐述其硬件基础、技术架构,解析关键技术,还涉及训练数据与标注、安全与冗余设计、实际应用场景与挑战以及技术迭代与更新等内容,展现了该技术的多方面情况。 阅读详情

相关推荐

Imputation Methods for scRNA Sequencing Data

越来越多的研究者使用单细胞RNA测序(scRNA-seq)技术来表征单细胞水平的转录图谱。他们用它来研究复杂组织的异质性、转录组动力学和未知生物的多样性。然而,在基因表达模式随机性的scRNA-seq数据中普遍存在许多技术和生物学上的噪音。这些数据通常具有高维、稀疏和大量“dropout”值的特点,并且受批处理效应的影响。scRNA-seq数据中大量的“dropout”值严重掩盖了基因之间的重要关系,阻碍了下游分析。因此,scRNA-seq数据dropout值的估算就显得尤为重要。

qq_34179307的博客 542

leetcode题库--112路径总和

路径总和 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 思路: 思路比较简单,就是递归将前面的和传下去,加上自身的值判断是否等于目标和。 bool hasPathSum(TreeNode* root, int sum) { if(dfs(root, sum, 0)) { return true; } ret.

zgscsed的博客 311

【NIFI】实现HANA->ORACLE数据同步

实现 HANA->ORACLE数据同步。

weixin_43159039的博客 1508

最近笔试题整理(三)

最近笔试题整理(三)算法题 53:年终奖(京东笔试题)
 题目:小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,一路上的格子里的礼物小东都能拿到,请设计一个算法使小东拿到价值最高的礼物。 
 给定一

绯浅yousa的笔记 1068

使用在UE5中使用AirSim插件Eigen库头文件引用报错,出现报错的解决方式

如图所示,用红线圈出的两条头文件引用会报错,提示无法找到他们,但是可以发现的是,他们的路径书写是没有问题的。在终端中运行时候,会出现如下的报错。

GFCLJY的博客 1006

scratch绘制四个三角形 2024年6月中国电子学会 图形化编程 scratch编程等级考试二级真题和答案解析

​ scratch绘制四个三角形 一、题目要求 2024年6月电子学会图形化编程Scratch等级考试二级真题 1、准备工作 1.保留默认角色小猫; 2.添加背景Stars。 2、功能实现 1 .隐藏角色小猫,设置画笔裙始位置为(0,0),画笔颜色为黄色,画笔的粗细为5; 2. 点击绿旗,绘制如下图所示图形,三角形的边长为50。 二、案例分析 1、角色分析 角色:小猫 2、背景分析 背景:Stars背景 3、前期准备 1. 保留默认的小猫不变 ​

青少年编程学习指导 1717

最小路径和(给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。)

给定一个包含非负整数的mxn网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例: 输入: [ [1,3,1], [1,5,1], [4,2,1] ]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。 解题思路:dp[i][j]代表从(0,0)走到(i,j)的最小路径和则 dp[0][i]来自第一行...

be_gin_ner的博客 5797

基于FPGA的以太网设计(1)----大白话解释什么是以太网

基于FPGA的千兆以太网设计(1)----大白话解释什么是以太网

孤独的单刀 3872

LeetCode刷题笔记 112. 路径总和

112. 路径总和题目要求题解迭代递归 题目要求 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum = 22, 题解 迭代 翻译自: https://leetcode-cn.com/problems/path-sum/solution/lu-jing-zo...

g534441921的博客 206

核心组件大换血:Backbone与Neck魔改篇:YOLO26替换EfficientNetV2主干:神经架构搜索(NAS)的最优解嫁接

YOLO26引入EfficientNetV2作为Backbone的改进方案探索了计算机视觉模型优化的前沿方向。文章首先分析了YOLO26默认C3k2模块的局限性,指出其在通道利用效率和缩放策略上的不足。随后重点介绍了EfficientNetV2的核心优势,包括Fused-MBConv模块、训练感知的NAS搜索空间和渐进式学习策略,这些特性使其在精度和效率上保持领先。最后提出了将EfficientNetV2嫁接至YOLO26的具体方案,强调通道对齐这一关键挑战,并给出两种解决方案。这一改进思路展现了&quot

ZDQ58818的博客 309

Unity小游戏接入抖音敏感词检测

摘要: 本文介绍了Unity小游戏接入抖音敏感词检测的方法。抖音官方提供了两种API:SensitiveWordCheck用于检测敏感词,ReplaceSensitiveWords用于替换敏感词。此外,若使用键盘输入事件,可通过tt.onKeyboardComplete监听回调,平台会自动屏蔽敏感词(替换为*)。接入官方字库可有效避免审核驳回,适用于小游戏中的用户输入功能(如起名系统)。附官方文档链接及参数说明。

类人_猿的博客 4594

LeetCode刷题笔记-112.路径总和

LeetCode刷题 深度优先 路径总和

sz66cm 学习随笔 209

但是我如果真的用差速轮去控制转向 为了尽量原地旋转 转向角度精确 我应该怎么去配置左右两个轮子的速度呢

目标实现方式原地转向左右轮速度相等、方向相反精确角度用 IMU 检测 yaw 实时对齐停止判断达到目标 yaw ± 容差时立即停转控制方式状态机(idle → turning → done)推荐容差2°~3° (可根据实际调整)

qqqweiweiqq的博客 312

力扣刷题笔记 112. 路径总和 C#

7月7日签到题,题目如下: 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明:叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1 返...

cjc52294的博客 317

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

二叉树-路径总和

代码随想录-刷题笔记

2301_79841192的博客 246

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

LeetCode刷题笔记第112题:路径总和

LeetCode刷题笔记第112题:路径总和 想法: 要找到树中是否存在一条路径和为目标值,使用递归的方法。判断是否存在路径和是否等于目标值,从根节点开始,而根节点之下的子树判断是否存在目标值与根节点数值的差的路径,直到递归到叶子结点。具体代码及注释如下。 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.v

qq_29787929的博客 146

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

LeetCode Java刷题笔记—112. 路径总和

LeetCode Java刷题笔记—112. 路径总和

终生学习践行者 719

LeetCode刷题笔记(112,路径总和,Easy)

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { public boolean hasPathSum(TreeNode root, int sum) { .

qq_40107365的博客 218

LeetCode刷题复盘笔记—一文搞懂回溯遍历二叉树所有分支路径实现相应功能(112. 路径总和、113. 路径总和 II、129. 求根节点到叶节点数字之和)

LeetCode刷题复盘笔记—一文搞懂回溯遍历二叉树所有分支路径实现相应功能(112. 路径总和、113. 路径总和 II、129. 求根节点到叶节点数字之和)复盘与思考随笔(关注后可以免费获得本人在csdn发布的资源源码)公众号主要记录编程和刷题时的总结复盘笔记和心得!并且分享读书、工作、生活中的一些思考感悟!

Lucky_Alan_Gareth的博客 332

力扣刷题笔记18|513.找树左下角的值、 112. 路径总和 、113.路径总和ii、106.从中序与后序遍历序列构造二叉树 、105.从前序与中序遍历序列构造二叉

判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum。输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22。给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22。

qq_45348845的博客 94

LeetCode第112题_路径总和

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

qq_40263592的博客 1384

LeetCode 112. 路径总和 || LeetCode 113. 路径总和ii

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

2301_80211119的博客 1418

力扣第112题:路径总和

给定一个二叉树和一个目标和,判断该树中是否存在从根节点到叶子节点的路径,使得路径上的节点值之和等于给定的目标和。是指没有子节点的节点。

weixin_48941116的博客 784

leetcode112. 路径总和 & leetcode113. 路径总和II,图文并茂,教你完全弄懂DFS,附详细代码

leetcode112. 路径总和 & leetcode113. 路径总和II,图文并茂,教你完全弄懂DFS,附详细代码

热爱C++和golang的学生 2498

C++描述 LeetCode 112. 路径总和

C++描述 LeetCode 112. 路径总和   大家好,我叫亓官劼(qí guān jié ),在优快云中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在优快云中写博客,唯一博客更新的地址为:亓官劼的博客 ,同时正在尝试在B站中做一些内容分享,B站主页为: 亓官劼的B站主页 本文原创为亓官劼,请大家支持原创,部分平台一直在恶意盗取博主的文章!!! 若需联系博主,可以联系本人微信:qiguanjie2015 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的

一起加油 3207

LeetCode 112和113 路径总和 路径总和II -- 递归法

文章目录LeetCode 112 路径总和LeetCode 113 路径总和II 参考文章   LeetCode 112 路径总和 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/path-sum 题意: 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。 叶

今天你学习了吗? 1909
上一篇: (刷题笔记) Leetcode 111. 二叉树的最小深度
下一篇: (刷题笔记) leetcode 面试题 16.11. 跳水板
Lucky&Happy
博客等级 码龄10年 1粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值