Golang | Leetcode Golang题解之第437题路径总和III

题目:

题解:

Go 复制代码
func pathSum(root *TreeNode, targetSum int) (ans int) {
    preSum := map[int64]int{0: 1}
    var dfs func(*TreeNode, int64)
    dfs = func(node *TreeNode, curr int64) {
        if node == nil {
            return
        }
        curr += int64(node.Val)
        ans += preSum[curr-int64(targetSum)]
        preSum[curr]++
        dfs(node.Left, curr)
        dfs(node.Right, curr)
        preSum[curr]--
        return
    }
    dfs(root, 0)
    return
}
相关推荐
Java小混子13 分钟前
golang项目CRUD示例
开发语言·后端·golang
想搞艺术的程序员16 分钟前
Go 优雅关闭实践指南:从原理到框架落地
开发语言·后端·golang
爱coding的橙子4 小时前
每日算法刷题Day84:11.11:leetcode 动态规划9道题,用时2h
算法·leetcode·动态规划
百***41665 小时前
Go-Gin Web 框架完整教程
前端·golang·gin
Kt&Rs7 小时前
11.11 LeetCode 题目汇总与解题思路
算法·leetcode·哈希算法
py有趣7 小时前
LeetCode算法学习之有效的字母异位词
学习·算法·leetcode
猫头虎7 小时前
Rust评测案例:Rust、Java、Python、Go、C++ 实现五大排序算法的执行时间效率比较(基于 OnlineGDB 平台)
java·开发语言·c++·python·golang·rust·排序算法
蒙奇D索大14 小时前
【算法】递归算法的深度实践:从布尔运算到二叉树剪枝的DFS之旅
笔记·学习·算法·leetcode·深度优先·剪枝
像风一样自由202015 小时前
Go语言入门指南-从零开始的奇妙之旅
开发语言·后端·golang
小白程序员成长日记16 小时前
2025.11.10 力扣每日一题
数据结构·算法·leetcode