news 2026/5/21 23:17:59

力扣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/5/18 13:59:52

如何用企业微信AI助力导购提升客户营销与服务效率?3步配置+5个行业案例实战指南

每天有超7.5亿微信用户通过企业微信获取服务&#xff0c;但人工导购响应慢、不专业导致的客户流失率高。2025年可以通过企业微信&#xff0c;借助微盛AI企微管家的企业微信AI聊天agent助力企业解决客户服务效率低、转化难的问题。本文结合零售、金融、汽车等5大行业实战案例&am…

作者头像 李华
网站建设 2026/5/19 10:28:23

Wan2.2-T2V-A14B支持生成竖屏短视频吗?适配手机端浏览体验

Wan2.2-T2V-A14B 支持生成竖屏短视频吗&#xff1f;适配手机端浏览体验 在抖音、快手、小红书等平台主导的移动内容生态中&#xff0c;一个不争的事实是&#xff1a;用户的眼睛已经“竖着生长”了。横屏视频放在手机上播放&#xff0c;两边大片黑边像极了上世纪电视节目被硬塞进…

作者头像 李华
网站建设 2026/5/20 8:52:16

12亿参数重塑边缘AI:LFM2-1.2B-RAG-GGUF开启本地化智能新纪元

在人工智能模型日益追求参数规模的当下&#xff0c;Liquid AI推出的LFM2-1.2B-RAG-GGUF模型正以"小而美"的革新姿态重新定义行业标准。这款源自麻省理工学院 CSAIL 实验室技术积累的轻量化模型&#xff0c;通过12亿参数的精巧设计&#xff0c;将企业级检索增强生成&a…

作者头像 李华
网站建设 2026/5/6 4:55:51

RJ45接口8根线分别是什么用途

前言 在上一篇介绍直通网线与交叉网线的文章中,我们提到百兆网络只使用RJ45接口中的4根线,实现“两发两收”。那么,千兆网络是否真的需要8根线,实现“四发四收”呢?本文将深入探讨RJ45接口的线序定义及其在不同网络环境中的作用。 引脚编号 首先,我们需要明确RJ45水晶…

作者头像 李华