class Solution {
unordered_map<long long, long long> mp;
int res;
public:
void dfs(TreeNode* root, long long num, int targetSum) {
if (root == nullptr) {
return ;
}
long long temp = num + root->val;
if (mp[temp - targetSum] >= 1) {
res += mp[temp - targetSum];
}
mp[temp]++;
dfs(root->left, temp, targetSum);
dfs(root->right, temp, targetSum);
mp[temp]--;
}
int pathSum(TreeNode* root, int targetSum) {
mp[0] = 1;
dfs(root, 0, targetSum);
return res;
}
};
LeetCode 向下的路径节点之和
最新推荐文章于 2023-12-31 00:34:11 发布
该篇博客介绍了一种使用DFS解决二叉树中路径和等于特定值的问题。代码中定义了一个Solution类,包含一个unordered_map来存储路径和,并通过递归的dfs函数进行遍历。当遇到路径和等于目标值时,更新结果。最后返回符合条件的路径数量。

3846

被折叠的 条评论
为什么被折叠?



