【leetcode hot 100 437】路径总和Ⅲ

ops/2025/3/19 2:57:45/

解法一:(深度优先搜索)穷举所有的可能 =》访问每一个节点 node,检测以 node 为起始节点且向下延深的路径有多少种。递归遍历每一个节点的所有可能的路径,然后将这些路径数目加起来即为返回结果。

/*** 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 res = rootSum(root, targetSum);res += pathSum(root.left, targetSum);res += pathSum(root.right, targetSum);return res;}public int rootSum(TreeNode root, int targetSum){if(root==null){return 0;}int res = 0;if(root.val==targetSum){res++;}res += rootSum(root.left, targetSum-root.val);res += rootSum(root.right, targetSum-root.val);return res;}
}

注意:

  • public int pathSum(TreeNode root, int targetSum):根节点+左节点+右节点分开单独遍历每一个节点的所有可能的路径;public int rootSum(TreeNode root, int targetSum)遍历根节点所有可能的路径。
  • pathSum(TreeNode root, int targetSum)rootSum(TreeNode root, int targetSum)int改为long可以解决下述问题。
    在这里插入图片描述

http://www.ppmy.cn/ops/166929.html

相关文章

人工智能中神经网络是如何进行学习的

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。https://www.captainbed.cn/north 文章目录 引言神经网络的学习过程1. 前向传播2. 计算损失3. 反向传播反向传播的步骤 4. 参数更新5. 重…

基于Python+Django的网上招聘管理系统

项目介绍 PythonDjango网上招聘系统的设计与实现(Pycharm Django Vue Mysql) 平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发。整个平台包括前台和后台两个部分。 - 前台功能包括:首页、岗位详情页、简历中…

解锁 AI 开发的无限可能:邀请您加入 coze-sharp 开源项目

大家好!今天我要向大家介绍一个充满潜力的开源项目——coze-sharp!这是一个基于 C# 开发的 Coze 客户端,旨在帮助开发者轻松接入 Coze AI 平台,打造智能应用。项目地址在这里:https://github.com/zhulige/coze-sharp&a…

通过Geopandas进行地理空间数据可视化

目录 引言 安装与导入 数据加载与探索 数据预处理 基本地图可视化 添加其他数据到地图上 空间分析与查询 地图叠加与分组 空间缓冲区 交互式地图可视化 实际应用案例 城市规划 环境监测 结论 引言 在数据科学领域,地理空间数据可视化扮演着至关重要的角色。它不…

分布式唯一ID

微服务 分布式唯一主键ID生成方案_微服务主键生成-CSDN博客 uid-generator-spring-boot-starter 教程-CSDN博客 https://github.com/baidu/uid-generator/blob/master/README.zh_cn.md GitCode - 全球开发者的开源社区,开源代码托管平台

阿里云CEN创建实验

哎…… 我一个搞数据库的,做梦也想不到有一天在研究网络。 最近浅测了一下阿里云CEN。 CEN,中文名:云企业网(CEN, Cloud Enterprise Network):构建全球VPC、本地IDC互联的网络骨干。 我测试了在两个不同…

ccf3401矩阵重塑(其一)

//矩阵重塑&#xff08;其一&#xff09; #include<iostream> using namespace std; int main(){int n,m,p,q;cin>>n>>m>>p>>q;int a[10000][10000];int sum0;int b[10000];for(int i0;i<n;i){for(int j0;j<m;j){cin>>a[i][j];b[sum…

为什么List、Set集合无法在遍历的时候修改内部元素

以常用集合ArrayList为例&#xff0c;ArrayList 在遍历过程中无法直接修改内部元素的结构&#xff08;例如通过 remove() 或 add() 方法修改元素&#xff09;&#xff0c;是因为 遍历的过程中修改结构 可能会导致 不一致的行为、并发修改异常 或 逻辑错误。 注意&#xff1a;和…