/**
* 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
最新推荐文章于 2025-12-04 23:36:16 发布
本文介绍了一种用于计算二叉树中节点路径总和的算法实现。通过深度优先搜索(DFS)遍历二叉树,并使用哈希映射记录路径上的节点值之和,该算法能够高效地找出所有路径中等于给定目标值的路径数量。
548

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



