1class Solution:2def pathSum(self, root: Optional[TreeNode], targetSum: int) -> List[List[int]]:3res = []45def dfs(v, path, pathsum):6if not v:7return8path.append(v.val)9pathsum += v.val10if not v.left and not v.right and pathsum == targetSum:11res.append(path[:])12dfs(v.left, path, pathsum)13dfs(v.right, path, pathsum)14path.pop()1516dfs(root, [], 0)17return res