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;
}
};
08-30
1217
11-12
715
08-30
263
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交