/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
map<int,int> haha;
int s,ans;
void dfs(TreeNode*root,int sum){
if(root == NULL)
return ;
sum += root->val;
ans += haha[sum-s];
haha[sum]++;
dfs(root->left,sum);
dfs(root->right,sum);
haha[sum]--;
}
int pathSum(TreeNode* root, int sum) {
s = sum;
ans = 0;
haha[0] = 1;
dfs(root,0);
return ans;
}
};
leetcode 437. Path Sum III
最新推荐文章于 2024-10-01 05:04:32 发布