leetcode上路径总和三,有一个一直过不去,不懂是为什么

问题遇到的现象和发生背景
https://leetcode-cn.com/problems/path-sum-iii/

问题相关代码,请勿粘贴截图
class Solution {
    int count = 0;
public:
    int pathSum(TreeNode* root, int targetSum) {
        if(root == nullptr)
            return 0;
        dfs(root,targetSum);
        pathSum(root->left,targetSum);
        pathSum(root->right,targetSum);
        return count;

    }
    void dfs(TreeNode* root,int sum)
    {
        if(root == nullptr)
            return;
        sum-=root->val;

        if(sum == 0)
            count++;
        dfs(root->left,sum);
        dfs(root->right,sum);
    }
};

运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果

我看了一下报错提示,是不是count这个int变量的值溢出了,换long试试?