news 2026/4/18 1:31:08

力扣hot100:路径总和III

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣hot100:路径总和III

题目描述:

思路:

本题和“和为k的子数组 有异曲同工之妙”,思路也相似。可以用一个哈希表去存储每条路径的和,两条路径和只差即为中间路径的和。

可以用递归的方式向下遍历这颗树,定义一个s,表示目前路径的和,每走一个节点就把节点值加入s,然后判断哈希表中是否存在s-targetSum,如果存在说明找到了和为targetSum的路径,不存在就把更新哈希表。

需要注意的是,左右叶子节点递归完之后要回溯哈希表,以免对其他分支的技术产生问题。

代码:

class Solution { private int ans=0; public int pathSum(TreeNode root, int targetSum) { Map<Long,Integer> cnt=new HashMap<>(); cnt.put(0L,1); dfs(root,0,targetSum,cnt); return ans; } private void dfs(TreeNode node,long s,int targetSum,Map<Long,Integer> cnt){ if(node==null){ return; } s+=node.val; ans+=cnt.getOrDefault(s-targetSum,0); cnt.merge(s,1,Integer::sum); dfs(node.right,s,targetSum,cnt); dfs(node.left,s,targetSum,cnt); cnt.merge(s,-1,Integer::sum); } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/9 11:33:57

Blender 3MF插件:5个高效解决3D打印工作流痛点的技术方案

Blender 3MF插件&#xff1a;5个高效解决3D打印工作流痛点的技术方案 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 作为连接创意设计与3D制造的关键桥梁&#xff0c;Bl…

作者头像 李华
网站建设 2026/4/16 13:29:46

48、Linux系统网络配置、故障排查与安全管理全解析

Linux系统网络配置、故障排查与安全管理全解析 1. 网络基础配置与操作 在Linux系统中,有多个工具和配置文件可用于网络配置和操作。 - IP地址获取与接口配置 : dhclient 程序可通过DHCP协议向本地网络查询IP地址信息,并使用这些信息配置接口。例如,当你需要自动获取…

作者头像 李华
网站建设 2026/4/11 21:10:13

Wan2.2-T2V-A14B能否生成适用于法庭质证的时空推演视频

Wan2.2-T2V-A14B能否生成适用于法庭质证的时空推演视频 在一场复杂的刑事案件庭审中&#xff0c;陪审团面对多份相互矛盾的证词、零散的时间线索和模糊的空间描述&#xff0c;往往难以构建出清晰的事件全貌。传统的案情还原依赖手绘示意图、3D建模动画或监控拼接视频&#xff0…

作者头像 李华
网站建设 2026/4/3 18:30:17

金融高频交易策略性能评估与优化框架

金融高频交易策略性能评估与优化框架关键词&#xff1a;金融高频交易、策略性能评估、优化框架、量化分析、交易策略摘要&#xff1a;本文围绕金融高频交易策略性能评估与优化框架展开深入探讨。首先介绍了该研究的背景、目的、预期读者以及文档结构等内容。接着阐述了核心概念…

作者头像 李华