Given the root of a binary tree and an integer targetSum, return the number of paths where the sum of the values along the path equals targetSum.
The path does not need to start or end at the root or a leaf, but it must go downwards (i.e., traveling only from parent nodes to child nodes).
Input: root = [10,5,-3,3,2,null,11,3,-2,null,1], targetSum = 8
Output: 3
Input: root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22
Output: 3
[0, 1000].The brute force approach involves iterating over each node and trying to find all paths starting from each node that sum up to the given targetSum. For each node, we perform a DFS traversal while counting paths that result in the targetSum.
This optimized approach uses a hashmap to store the prefix sum frequencies encountered so far while traversing the tree. The idea is to leverage the prefix sum technique to quickly find if there exists a subpath ending in the current node that sums up to the targetSum.
targetSum.