class Solution {
public:
int ans = 0;
void dfs (TreeNode*r, int sum) {
if (!r) return;
sum -= r->val;
if (sum == 0) {
ans ++;
}
dfs(r->left, sum);
dfs(r->right, sum);
}
int FindPath(TreeNode* root, int sum) {
if (!root) return ans;
dfs(root, sum);
FindPath(root->left, sum);
FindPath(root->right, sum);
return ans;
}
};
已经是个函数了。所以可以用先序遍历的方式一个一个找,不需要先序列化。



