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
}
相关推荐
Thetimezipsby9 小时前
Go(GoLang)语言基础、知识速查
开发语言·后端·golang
sin_hielo11 小时前
leetcode 1975
数据结构·算法·leetcode
2501_9418204911 小时前
面向零信任安全与最小权限模型的互联网系统防护设计思路与多语言工程实践分享
开发语言·leetcode·rabbitmq
cpp_250111 小时前
P1583 魔法照片
数据结构·c++·算法·题解·洛谷
2501_9418059312 小时前
一次从接口网关到异步消息驱动架构演化的互联网系统实践技术随笔分享录
leetcode·决策树·贪心算法
黛色正浓13 小时前
leetCode-热题100-二叉树合集(JavaScript)
javascript·算法·leetcode
炽烈小老头14 小时前
【每天学习一点算法 2026/01/05】打乱数组
学习·算法·leetcode
2501_9411497915 小时前
面向微服务异步消息队列与可靠投递的互联网系统高可用设计与多语言工程实践分享
leetcode·决策树
we have a whole life15 小时前
Golang(Handler入门)
开发语言·http·golang
Tisfy16 小时前
LeetCode 1975.最大方阵和:脑筋急转弯
算法·leetcode·矩阵·题解·脑筋急转弯