数据结构与算法-二叉树-路径总和lll

news2024/12/4 17:25:05

路径总和lll

给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。

路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。

示例 1:

在这里插入图片描述

输入:root = [10,5,-3,3,2,null,11,3,-2,null,1], targetSum = 8
输出:3
解释:和等于 8 的路径有 3 条,如图所示。

代码:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    
    public int pathSum(TreeNode root, int targetSum) {
            if( root == null) {
            return 0;
        }
            int sum = dfs(root,targetSum);
            sum +=pathSum(root.left, targetSum);
            sum +=pathSum(root.right,targetSum);
            return sum;
    }

    public int dfs(TreeNode root, long targetSum) {
        int sum = 0;
        if( root == null) {
            return 0;
        }

        if(root.val == targetSum) {
            sum+=1;
        }
        sum+=dfs(root.left,targetSum-root.val);
        sum+=dfs(root.right,targetSum-root.val);

        return sum;
    }
}

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

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

相关文章

华为配置ACL限制用户通过Telnet登录设备

配置ACL限制用户通过Telnet登录设备示例 组网需求 如图1所示,PC与设备之间路由可达,用户希望简单方便的配置和管理远程设备,可以在服务器端配置Telnet用户使用AAA验证登录,并配置安全策略,保证只有符合安全策略的用户才…

Zoomit 安装与使用

Zoomit 安装与使用 1)工具介绍 ZoomIt 是一款非常实用的投影演示辅助软件 ZoomIt 是一种在所有 Windows 设备上运行的工作的注释和缩放工具 2)下载地址 地址:https://zoomit.en.softonic.com/ 3)安装教程 第一步 第二步 …

演讲《罗振宇2024“时间的朋友”跨年演讲》观后感

虽然看罗老师的跨年演讲,已经过去快一个月了,但是自己认为还是非常值得写观后感的,本身罗老师的演讲,也是自己非常喜欢的,所以每年元旦,跟随罗老师过跨年,已经是自己的习惯了。 就像赵本山大叔…

低代码:为消防数字化管理系统建设插上高效的翅膀

随着科技的不断进步,数字化转型已经成为各行各业发展的必然趋势。消防行业作为保障公共安全的重要领域,也面临着数字化转型的迫切需求。 “2023年10月27日,国家综合性消防救援队伍信息化工作暨现场联合作战指挥通信体系示范建设现场会在内蒙古…

Linux基础指令大汇总

Linux的指令比较多,在学习的过程中要学会总结和归纳,同时结合实践多多使用,就像学数学一样,不是背过公式就等于掌握的,而是要知道在什么时候用,怎么用才是关键。 这篇文章会列举一系列常用的指令&#xff0…

HTTP3/QUIC 性能测试与配套组件

背景 最近一年很多关于QUIC的文章层出,但是发现一个问题,这些文章都是在介绍QUIC或HTTP3是怎样的一个东西,以及它的优点和机制,将它夸的近乎上天了。然而有心的人估计会亲手做一些测试,就会发现这个被捧上天的东西性能…

物联网IOT视频设备如何快速对接阿里云生活物联网(Link Visual)并成功上云?

原文永久更新地址:https://www.yundashi168.com/472.html 文章来源:猿视野 如果有图片看不清楚,加载不出来,请阅读原文。 什么是Link Visual、 Link Visual是生活物联网平台针对视频产品推出的增值服务,提供视频数据上…

php下curl发送cookie

目录 一:使用 CURLOPT_COOKIE 选项 二:CURLOPT_COOKIEFILE 三:CURLOPT_HTTPHEADER php curl发送cookie的几种方式,下面来介绍下 一:使用 CURLOPT_COOKIE 选项 通过设置 CURLOPT_COOKIE 选项,你可以将 cookie 字符…

将 Amazon Bedrock 与 Elasticsearch 和 Langchain 结合使用

Amazon Bedrock 是一项完全托管的服务,通过单一 API 提供来自 AI21 Labs、Anthropic、Cohere、Meta、Stability AI 和 Amazon 等领先 AI 公司的高性能基础模型 (FMs) 选择,以及广泛的 构建生成式 AI 应用程序所需的功能,简化开发,…

基于Grafana+Prometheus搭建可视化监控系统实践

基本介绍 Grafana:一个监控仪表系统,可以根据提供的监控数据,生产可视化仪表盘,同时也具有告警通知功能。这里的监控数据来源,目前主要以Prometheus为主(也支持其它数据源),每次展现…

day10_面向对象

今日内容 零、 复习昨日 一、this关键字 二、构造方法 三、重载 零、 复习昨日 1 类和对象是什么关系? 类是模板,对象是实例对象是由类创建的 2 类中有什么?(类的成员) 成员属性(成员变量)成员方法 3 创建对象的语法? 类名 对象名 new 类名(); 4 调用对象属性的语法 对象.属…

CLion编辑器中文乱码

1.首先设置编码格式 都设置成utf-8 调整注册表 搜索regis

泽众云真机-机型集中化运维方案升级全面完成

2024年元月份,泽众云真机运维团队,经过几个月软硬件多轮安装调试,机型集中化运维方案升级全面完成。解决了云真机的机型集中化运维难题,方便了运营人员手机管理。 具体如下: 1、集中化运维,如服务器、PC、…

智能分析网关V4智慧冶金工厂视频智能监管方案

一、背景与需求 随着工业4.0的推进,冶金行业正面临着转型升级的压力。为了提高生产效率、降低能耗、保障安全,冶金智能工厂视频监管方案应运而生。该方案通过高清摄像头、智能分析技术、大数据处理等手段,对工厂进行全方位、实时监控&#xf…

svn和git的本质区别是什么

参考: https://blog.csdn.net/feiying0canglang/article/details/126550676 上边图中,跨越了区的箭头,它中间的区数据都会同步。例如:git checkout ,它是将本地仓库数据更新到暂存区和工作区的。\ 理解 gitlab和svn都…

五金压铸ERP软件有什么用?能帮助企业处理哪些难点

不同类型的五金压铸产品有不同的规格、质量、销售渠道、价格策略等,日常经营管理过程中存在的难点复杂多样。 近些年社会可的发展进步也不断推动五金压铸行业管理模式的变更,现如今逐渐朝着智能化和信息化方向发展。而在这个时代背景之下,有…

Jellyfin影音服务本地部署并结合内网穿透实现公网访问本地资源

文章目录 1. 前言2. Jellyfin服务网站搭建2.1. Jellyfin下载和安装2.2. Jellyfin网页测试 3.本地网页发布3.1 cpolar的安装和注册3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5. 结语 1. 前言 随着移动智能设备的普及,各种各样的使用需求也被开发出来&…

系统架构设计师教程(十六)嵌入式系统架构设计理论与实践

嵌入式系统架构设计理论与实践 16.1 嵌入式系统概述16.1.1 嵌入式系统发展历程16.1.2 嵌人式系统硬件体系结构16.2 嵌入式系统软件架构原理与特征16.2.1 两种典型的嵌入式系统架构模式16.2.2 嵌入式操作系统16.2.3 嵌入式数据库16.2.4 嵌入式中间件16.2.5 嵌入式系统软件开发环…

[BT]小迪安全2023学习笔记(第15天:PHP开发-登录验证)

第15天 名词解释 Cookie 是小型的文本文件,由网站发送到用户的浏览器,并存储在用户的设备上。Cookie 通常用于存储识别用户的信息,例如用户偏好、登录状态等。每当用户再次访问同一网站时,浏览器会将 Cookie 发送回服务器&#…

mysql8版本批量造4000个数据SQL

需求: 测试工作中修改单需要构造单元下4000个组合的数据,写个博客来记录,其他类似的可以举一反三。 具体sql: 实现1个产品1个单元下插入4000个组合数据 思路: 在MySQL 8中实现循环插入4000条具有不同主键的记录,可以使用AUTO_INCREMENT和循环插入的方式。下面是一个…