Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 40x 21x 19x 131x 75x 56x 56x 19x | import type { TreeNode } from './Tree'
export default function pathSum(
root: TreeNode<number> | null,
targetSum: number,
): number {
if (root === null)
return 0
const dfs = (node: TreeNode<number> | null, sum: number): number => {
if (node === null)
return 0
sum += node.val
return (
(sum === targetSum ? 1 : 0) + dfs(node.left, sum) + dfs(node.right, sum)
)
}
return (
dfs(root, 0)
+ pathSum(root.left, targetSum)
+ pathSum(root.right, targetSum)
)
}
|