news 2026/8/7 8:58:10

力扣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/8/6 17:52:24

Wan2.2-T2V-A14B支持自动字幕嵌入吗?多语种翻译生成测试

Wan2.2-T2V-A14B是否支持自动字幕嵌入&#xff1f;多语种翻译能力实测解析 在短视频出海、跨国品牌营销日益频繁的今天&#xff0c;内容本地化的效率直接决定了市场响应速度。一个中国团队制作的广告片&#xff0c;如果需要投放到欧美、东南亚甚至拉美地区&#xff0c;传统流程…

作者头像 李华
网站建设 2026/8/7 17:54:42

Wan2.2-T2V-A14B与Sora的技术路线差异比较

Wan2.2-T2V-A14B与Sora的技术路线差异比较 在生成式AI的浪潮中&#xff0c;文本到视频&#xff08;Text-to-Video, T2V&#xff09;正从“能出画面”迈向“可商用”的关键转折点。过去一年里&#xff0c;我们见证了两个极具代表性的技术里程碑&#xff1a;阿里巴巴推出的 Wan2.…

作者头像 李华
网站建设 2026/8/7 21:00:22

Java两种代理模式详解

如有错误欢迎指出 是jdk动态代理是从一步步开始写完特性/维度JDK 动态代理CGLIB 动态代理是否需要接口✅ 需要接口❌ 不需要接口&#xff08;可代理普通类&#xff09;代理原理基于反射实现接口方法的代理继承目标类并重写方法&#xff0c;基于 ASM 字节码操作代理类结构生成实…

作者头像 李华
网站建设 2026/8/7 10:08:48

MySQL基础篇——约束和事务

事务与隔离级别比较常考1、MySQL约束约束作用于表中字段&#xff0c;在创建/修改表时使用非空约束&#xff0c;唯一约束&#xff0c;主键约束&#xff0c;默认约束&#xff0c;检查约束&#xff0c;外键约束create table user(id int primary key auto_increment comment 主键,…

作者头像 李华
网站建设 2026/8/7 0:08:17

【VSCode量子编程环境搭建指南】:手把手教你5步配置Qiskit开发环境

第一章&#xff1a;VSCode量子编程环境搭建概述 在当前量子计算快速发展的背景下&#xff0c;开发者需要一个高效、灵活且可扩展的开发环境来编写和调试量子程序。Visual Studio Code&#xff08;VSCode&#xff09;凭借其强大的插件生态和轻量级架构&#xff0c;成为构建量子编…

作者头像 李华
网站建设 2026/8/6 18:30:12

Flutter深度解析:从原理到实战的全栈开发指南

Flutter深度解析&#xff1a;从原理到实战的全栈开发指南引言&#xff1a;跨平台开发的革命性突破在移动开发领域&#xff0c;React Native、UniApp等方案曾占据主导地位&#xff0c;但Flutter凭借其独特的自绘引擎和声明式UI范式&#xff0c;已成为构建高性能跨平台应用的首选…

作者头像 李华