当前位置: 首页 > news >正文

leetcode 路径总和III java

参考leetcode上大神的思路:https://leetcode.cn/problems/path-sum-iii/solutions/596361/dui-qian-zhui-he-jie-fa-de-yi-dian-jie-s-dey6,添加了自己的注释。
前缀和为Long类型 Map<Long,Integer> prefixSumCount = new HashMap<>();
recur函数里要有prefixSumCounttargetSum,或者宏观定义一下。

/*** 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) {Map<Long,Integer> prefixSumCount = new HashMap<>();prefixSumCount.put(0L,1);//prefixMap: key--前缀和 value--前缀和的节点数量return recur(root,prefixSumCount,targetSum,0L);}private int recur(TreeNode node, Map<Long, Integer> prefixSumCount, int targetSum, Long curSum){if(node == null){return 0;}int res = 0;curSum += node.val;//看看之前的前缀和有没有为curSum-targetSum的res += prefixSumCount.getOrDefault(curSum-targetSum,0);//更新key为curSum的value值prefixSumCount.put(curSum, prefixSumCount.getOrDefault(curSum,0)+1);//更新左右子节点int left = recur(node.left,prefixSumCount,targetSum,curSum);int right = recur(node.right,prefixSumCount,targetSum,curSum);res = res+left+right;//恢复状态: 在遍历完一个节点的所有子节点后,将其从map中除去。prefixSumCount.put(curSum,prefixSumCount.get(curSum)-1);return res;}}

相关文章:

  • LeetCode 热题 100 链表篇|Java 通关全攻略:从基础到进阶的 20 道核心题解(附完整思路与代码)
  • 织梦dedecms内容页调用seotitle标题的写法
  • elastalert实现飞书机器人告警-docker
  • Go 语言:高并发编程的性能突围之路
  • 前端八股文 - CSS 篇
  • 网络编程之Modbus与HTTP
  • 网页中调用自定义字体可以通过 ‌CSS‌ 的 @font-face 规则实现
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | RandomChoicePicker(标签生成)
  • 【C++】继承和派生
  • STM32 Bootloader:使用文件头加载并启动应用程序
  • Python 函数参数详解:从基础到高级用法
  • 路由交换技术-思科拓扑搭建
  • 嵌入式通信模块实战新范式:基于虚拟仿真平台的NB-IoT核心技能训练——零硬件损耗的全栈式实验方案,重构物联网通信教学逻辑
  • 16层混压PCB的精密重构:高频基板局部化的黄金法则
  • 技术赋能——AI社媒矩阵营销工具如何重构社媒矩阵底层架构
  • 【hadoop】疫情离线分析案例
  • 山东大学 2025 web数据管理期末复习总结
  • 使用文件的基本操作和文件内容读写操作实现三个功能
  • 玛哈特零件矫平机:精密制造中的平整度守护者
  • 【11408学习记录】考研数学核心突破:矩阵本质、系统信息与向量空间基
  • 企业网站建设相关书籍在线阅读/怎么在腾讯地图上添加自己的店铺
  • 厦门市城乡建设局网站/深圳创新创业大赛
  • 网站从哪些方面来做/seo基础视频教程
  • 网站备案企业用个人来备案可以用吗/怎么免费建立网站
  • 溧阳市建设网站/指数分布的期望和方差
  • 男女一夜做受视频最新网站/seo怎么优化关键词排名培训