[leetcode] 437. Path Sum III 解题报告

2023-11-12

题目链接: https://leetcode.com/problems/path-sum-iii/

You are given a binary tree in which each node contains an integer value.

Find the number of paths that sum to a given value.

The path does not need to start or end at the root or a leaf, but it must go downwards (traveling only from parent nodes to child nodes).

The tree has no more than 1,000 nodes and the values are in the range -1,000,000 to 1,000,000.

Example:

root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8

      10
     /  \
    5   -3
   / \    \
  3   2   11
 / \   \
3  -2   1

Return 3. The paths that sum to 8 are:

1.  5 -> 3
2.  5 -> 2 -> 1
3. -3 -> 11

思路: 从每一个节点单独开始记录路径的和, 最后结果即为从当前节点开始的路径的结果个数和从左右节点开始计数的结果个数.

代码如下:

/**
 * 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:
    int DFS(TreeNode* root, int sum){
        if(!root) return 0;
        sum -= root->val;
        return !sum + DFS(root->left, sum) + DFS(root->right, sum);
    }
    
    int pathSum(TreeNode* root, int sum) {
        if(!root) return 0;
        int ans = pathSum(root->left, sum) + pathSum(root->right, sum);
        return DFS(root, sum) + ans;
    }
};

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[leetcode] 437. Path Sum III 解题报告 的相关文章

  • MDK5__配色方案的修改

    一 必要的知识 与MDK主题相关的文件有两个 在X Keil v5 UV4路径下 global propglobal prop def其中global prop def是系统默认的主题配置 如果修改过字体等 系统会生成一个global pr
  • Qt元对象系统及应用(一)

    目录 1 元对象系统 2 元对象与属性系统 2 1 动态属性 3 元对象与信号槽 3 1 信号槽应用场景 3 2 信号槽的连接 3 3 信号槽要点总结 1 元对象系统 元对象系统 Meta Object System 是Qt框架中一个非常重
  • python学习目录,从入门到上手

    这是我学习python的一套流程 根据书本学习 从入门到上手 整理不易 一 Python入门 环境搭建 变量 数据类型 二 Python运算符 条件结构 循环结构 三 Python函数 四 做一次综合练习 做一个控制台的员工管理 需求 员工

随机推荐

  • WMS仓库管理系统与ERP仓储系统的区别与联系

    现代企业越来越重视物流及仓储管理 然而提到WMS仓库管理系统与ERP仓储系统 许多企业管理者依旧是一脸茫然的表情 无法清晰的区别分辨 其实这两款软件在功能上有相似的地方 下面就由沈阳达策带您一看究竟 实际上 ERP仓储系统和WMS仓库管理系
  • STM32_HAL库编程_串口+DMA接收数据异常问题记录

    1 开发环境概述 Keil 5 27 STM32CUBEMX STM32F103RCT6 2 问题现象 在利用RCT6做主机通信 C8T6做从机通信时 拔插从机电路板 有概率出现主机通信故障无法接收到从机数据 或者从机通信故障无法接收到主机
  • 安装邮件服务器之四

    20 配置cyrus sasl 为了支持maildrop 先加入vmail用户 pw adduser vmail u 1003 s sbin nologin d dev null 你需要创建 usr local lib sasl2 smtp
  • Kubernetes之deployment

    1用Deployment运行应用 Kubernetes通过各种Controller来管理Pod的生命周期 为了满足不同业务场景 Kubernetes开发了Deployment ReplicaSet StatefuleSet Job等多种Co
  • 【CV知识点汇总与解析】

    CV知识点汇总与解析 参数初始化篇 写在前面 本系列文章适合Python已经入门 有一定的编程基础的学生或人士 以及人工智能 算法 机器学习求职的学生或人士 系列文章包含了深度学习 机器学习 计算机视觉 特征工程等 相信能够帮助初学者快速入
  • 解锁三星bl锁有几种方法_三星S6解锁教程_三星GALAXY S6怎么解锁Bootloader的方法

    现在咱们的最新的三星手机都已经带上锁了 也就是带Bootloader锁了 包括咱们的三星GALAXY S6手机也是一样的 这样的话 咱们的手机就不能轻易的进行root或着是进行刷机操作了 那怎么办呢 这个时候咱们就要对手机进行解锁才可以 不
  • 机器学习资料

    机器学习速成课程 Google Developers
  • 【IEEE】自然语言处理与信息检索国际会议(ECNLPIR 2022)

    IEEE出版 2022年自然语言处理与信息检索国际会议 ECNLPIR 2022 重要信息 会议网址 www ecnlpir org 会议时间 2022年7月19 21日 召开地点 中国杭州 截稿时间 2022年6月19日 录用通知 投稿后
  • 训练自己的ChatGPT-OpenAI 微调模型

    OpenAI终于下定决心 正式开放ChatGPT API ChatGPT API地址 https platform openai com docs guides chat gpt 3 5 turbo的新模型 OpenAI正式打开了官方的Ch
  • JavaScript基本数据类型

    JavaScript是弱类型脚本语言 声明变量时无需指定变量的数据类型 JavaScript变量的数据类型是解释时动态决定的 但是JavaScript的值保存在内存中 也是数据类型的 JavaScript基本数据类型有如下五个 1 数值类型
  • CentOS 7 离线安装 PostgreSQL 14

    我这里把全套所需的程序安装包都整理好了 混个资源分 如果实在没积分的兄弟 继续往下 按我写的步骤自己下也行 PG14 离线程序安装包及依赖包全套下载 1 下载离线安装包 下载链接 PostgreSQL PGDG 14 Updates RPM
  • U-Boot初始化及工作流程分析

    0 概述 U Boot通常是从架构相关的汇编文件 尾缀为大写S的汇编文件意为可链接 中获取第一条执行的指令 例如 arch arm cpu armv7 start S arch powerpc cpu mpc83xx start S arc
  • 如何实现弹窗一天只弹一次的需求

    你是否有这种需求 页面需要对用户有一个信息提示的弹窗 但是为了骚扰次数过多导致用户的反感于是产品要求一天只弹一次 服务器显需求太小懒得搭理 于是 重任 就落在你的头上 跟我来 一招搞定一天一次的弹窗 解决思路是 进页面的时候判断如果本地没保
  • Matlab常用字符串操作教程

    Matlab是一种功能强大的编程语言 它提供了丰富的字符串操作函数 在本教程中 我们将介绍一些常用的Matlab字符串操作函数和用法 字符串的创建和访问 使用单引号或双引号创建字符串 str Hello World 或 str Hello
  • 入职阿里工作5年,晋升到P8就剩这份学习笔记了,已帮助多个朋友拿到Offer

    关于程序员 除了做项目来提高自身的技术之外 还有一种提升自己的专业技能就是 多 看 书 入职阿里到现在已经5年了 工作压力大 节奏快 从刚开始的P6到现在的P8 技术上确实得到了成长 尤其是当你维护与大促相关的系统的时候 熬到P8也费了不少
  • vue3使用element组件中的Image导致频闪

    只需要把el image标签换成原生img标签就可以了
  • arma3服务器滚动信息,【图片】武装突袭3服∷务器状态信息查询 - 接口/模块/JАVa-机器人_武装突袭3吧_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 然后是java如何使用接口 以下文档仅供参考 已字符防和谐处理 GetXMLtoServerPlayer GSP new GetXMLtoServerPlayer 得到玩家信息 String S
  • python format 冒号_python之格式化输出

    字符串格式化有两种方式 和format 先介绍下 号的方法 s的语法结构 叫做占位符 就是先占一个位置 然后我们用真实的要显示的数据替换占位符即可 最简单的用法就是下面的方式 其实 s还有其他的功能 s 我的名字是 s 我的年龄是 d al
  • xss-labs通关参考(7-10)

    7 第七关 先提交 Oonn gt 查看源代码 过滤了script 和On 双引号闭合 所以payload oONnmouseover alert xss 8 第八关 先提交 Oonn gt 查看源代码 发现 script和on中间都被加上
  • [leetcode] 437. Path Sum III 解题报告

    题目链接 https leetcode com problems path sum iii You are given a binary tree in which each node contains an integer value F