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
}
相关推荐
William.csj5 小时前
BaiduPCS-Go——下载百度网盘文件的工具
golang·baidupc
kebeiovo8 小时前
游戏服务端开发:Actor模型详解(Go语言)
开发语言·后端·golang
旖-旎9 小时前
LeetCode 279:完全平方数(完全背包)—— 题解
c++·算法·leetcode·动态规划·背包问题
Wang's Blog11 小时前
Go-Zero项目开发9: 微服务治理之服务注册中心
微服务·golang
良木林11 小时前
滑动窗口 - LeetCode hot 100
javascript·算法·leetcode·双指针·滑动窗口
晚笙coding12 小时前
LeetCode 108:将有序数组转换为二叉搜索树 —— 从数组到平衡二叉树的递归构造
数据结构·算法·leetcode
布朗克16812 小时前
Go 入门到精通-27-泛型编程
开发语言·golang·xcode·泛型编程
名字还没想好☜12 小时前
Go 用 errgroup 管理并发子任务:错误收敛、取消传播与限流
开发语言·后端·golang·go·并发
hold?fish:palm13 小时前
7 接雨水
开发语言·c++·leetcode
tkevinjd15 小时前
力扣148-排序链表
算法·leetcode·链表