437 路径总和-02

前缀和,dfs,回溯

/*** 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 {int count=0;Map<TreeNode,Integer> map=new HashMap<>();public int pathSum(TreeNode root, int targetSum) {dfs(root,targetSum,0);return count;}public void dfs(TreeNode root,int targetSum,int currSum){if (root==null){return;}currSum+=root.val;for (Map.Entry<TreeNode,Integer> entry:map.entrySet()){if (currSum-entry.getValue()==targetSum){count++;}}if(currSum==targetSum){count++;}map.put(root,currSum);dfs(root.left,targetSum,currSum);dfs(root.right,targetSum,currSum);map.remove(root);}}


时间复杂度O(n)O(n)O(n),nnn是二叉树的节点个数。
空间复杂度O(h)O(h)O(h),hhh是二叉树的深度,使用哈希表。

437 路径总和-02相关推荐

  1. 【LeetCode】【HOT】437. 路径总和 III(DFS)

    [LeetCode][HOT]437. 路径总和 III 文章目录 [LeetCode][HOT]437. 路径总和 III package hot;class TreeNode{int val;Tr ...

  2. LeetCode 437. 路径总和 III

    437. 路径总和 III 思路: 深度优先搜索,暴力搜索: 递归遍历每一个节点的所有可能路径,然后将这些路径书目加起来即为返回结果 首先定义rootSum(p,val)表示以节点p为起点向下且满足路 ...

  3. LeetCode 371. 两整数之和(异或操作) / 639. 解码方法 II(动态规划)/ 437. 路径总和 III

    371. 两整数之和 2021.9.26 每日一题 题目描述 给你两个整数 a 和 b ,不使用 运算符 + 和 - ​​​​​​​,计算并返回两整数之和. 示例 1: 输入:a = 1, b = 2 ...

  4. Leetcode 437.路径总和III

    路径总和III 给定一个二叉树,它的每个结点都存放着一个整数值. 找出路径和等于给定数值的路径总数. 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点). ...

  5. 437. 路径总和 III

    给定一个二叉树,它的每个结点都存放着一个整数值. 找出路径和等于给定数值的路径总数. 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点). 二叉树不超过1 ...

  6. LeetCode 437. 路径总和 III(双重递归)

    1. 题目 给定一个二叉树,它的每个结点都存放着一个整数值. 找出路径和等于给定数值的路径总数. 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点). 二 ...

  7. 【LeetCode笔记】437. 路径总和III(Java、双重递归、二叉树)

    文章目录 题目描述 思路 & 代码 题目描述 说实话确实比I & II要恶心一点 这里直接用双递归秒了(今天才发现我是之前先写的III,再写的I & II) 有前缀和的写法,但 ...

  8. leetcode - 437. 路径总和 III

    给定一个二叉树,它的每个结点都存放着一个整数值. 找出路径和等于给定数值的路径总数. 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点). 二叉树不超过1 ...

  9. leetcode 437. Path Sum III | 437. 路径总和 III(DFS,前缀和)

    题目 https://leetcode.com/problems/path-sum-iii/ 题解 DFS+前缀和问题,注意节点可能为 0 的情况(也是因此发现应该用 HashMap 记录前缀和的个数 ...

  10. LeetCode(合集) 路径总和(二叉树) golang copy的值复制

    112. 路径总和 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉树,以及目标 ...

最新文章

  1. jQuery 选择器中的空格问题
  2. linux jenkins远程脚本,在Jenkins中配置执行远程shell命令(转)
  3. 对于新手来说,Python 中有哪些难以理解的概念?我似乎明白了
  4. 【工业控制】激光跟踪仪概述
  5. C++-运行时类型信息,异常(day11)
  6. ObjecT4:On-line multiple instance learning (MIL)学习
  7. 利用福禄克DSX系列测试仪部署MPTL模块化插头端接链路
  8. python实现程序重启_python实现自动重启本程序的方法
  9. 创新品牌体验团队_如何推动软件团队创新
  10. 3 矩阵运算_小白学PyTorch——pytorch常见运算详解
  11. linux getopt源码,linux getopt()
  12. 开始学习 PixiJS
  13. 我为什么想并且要学习Scala
  14. table中强制不换行
  15. VR与平板电脑高速PCB设计实战攻略
  16. 计算机车辆识别检测毕业设计,车辆识别论文,关于基于计算机网络技术的车辆识别技术相关参考文献资料-免费论文范文...
  17. 手机app测试方法(二)App测试-常见测试点
  18. 中专计算机专业包括哪些方面,中专计算机有什么专业?
  19. ASCII码与16进制的互相转换(表)
  20. 计算机硬盘计入哪个会计科目,电脑加装固态硬盘如何做分录

热门文章

  1. 鸿蒙时代实力排名,混沌氏(浑沌)、鸿蒙氏,盘古开天辟地时两个最强大的部落首领?...
  2. 新型远程下载功能路由器NW762简介
  3. 面试案例-String Interpolation的实现(Java实现)
  4. antd 自定义表单验证 onBlur
  5. SQL进阶篇之多表联查
  6. 阿里巴巴Java开发手册终极版v1.3.0(百度网盘资源)
  7. JavaScript/js 转 Python 代码转换神器 jiphy
  8. 计算机与信息技术基础读书笔记,信息技术读书笔记3篇
  9. 贡献度分析--帕累托图
  10. Vue中@click.stop与@click.prevent