news 2026/6/9 19:56:12

力扣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/6/10 9:31:01

“方便面“用英文怎么说?千万别说成convenient noodles!

若让人们为各种食物打分方便面的分数想必一定不会低谁让它就是这么方便呢单身、旅游、加班、宅家……哪里少得了它但是&#xff01;方便面再方便&#xff01;也不能把它说成convenient noodles&#xff01;01“方便面” 英文怎么说&#xff1f;方便面也叫做泡面之所以方便&…

作者头像 李华
网站建设 2026/6/10 9:30:09

低代码时代PHP架构转型实战(组件化开发黄金法则)

第一章&#xff1a;低代码时代PHP架构转型的必然趋势在数字化进程加速的背景下&#xff0c;低代码平台正以前所未有的速度重塑企业应用开发模式。作为长期服务于Web后端的PHP语言&#xff0c;其传统MVC架构已难以满足敏捷交付、可视化编排和系统集成的现代需求。由此&#xff0…

作者头像 李华
网站建设 2026/6/10 17:18:13

Blender 3MF插件终极完整教程:从零基础到精通应用

Blender 3MF插件终极完整教程&#xff1a;从零基础到精通应用 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 快速上手&#xff1a;一键安装配置指南 插件获取与安装 要…

作者头像 李华
网站建设 2026/6/10 9:31:59

揭秘量子算法在VSCode中的性能瓶颈:3步实现运行效率翻倍

第一章&#xff1a;量子算法的 VSCode 性能分析在开发和调试量子算法时&#xff0c;集成开发环境&#xff08;IDE&#xff09;的性能直接影响研发效率。Visual Studio Code&#xff08;VSCode&#xff09;因其轻量级架构和强大的扩展生态系统&#xff0c;成为量子计算开发者常用…

作者头像 李华
网站建设 2026/6/10 9:32:50

医疗健康AI Agent:开发难点与突破

医疗健康AI Agent&#xff1a;开发难点与突破关键词&#xff1a;医疗健康、AI Agent、开发难点、技术突破、医疗应用摘要&#xff1a;本文聚焦于医疗健康AI Agent的开发&#xff0c;深入探讨了其在医疗领域应用的背景、核心概念、算法原理、数学模型等方面的内容。详细分析了开…

作者头像 李华