力扣437.路径总和 III
-
dfs深搜
- 遍历到一个值就加入哈希表
- 然后记得回溯 从哈希表中删去
-
lambda表达式: [捕获列表](参数列表) -> 返回值类型
-
class Solution {public:int pathSum(TreeNode* root, int targetSum) {int res=0;unordered_map<long long,int> cnt{{0,1}};function<void(TreeNode*,long long)> dfs = [&](TreeNode *node,long long s) -> void{if(node == nullptr) return ;s += node->val;res += cnt[s-targetSum];cnt[s] ++;dfs(node->left,s);dfs(node->right,s);cnt[s] -- ;};dfs(root,0);return res;}};