113. 路径总和 II

给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。

叶子节点 是指没有子节点的节点。

链接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
let res = []
function pathSum(root: TreeNode | null, targetSum: number): number[][] {
if (root === null) return []
res = []
traverse(root, targetSum, [])
return res
};

function traverse(root: TreeNode, targetSum: number, nodeList: number[]) {
if (root === null) {
return
}
targetSum -= root.val
nodeList.push(root.val)
if (root.left === null && root.right === null && targetSum === 0) {
res.push(nodeList)
return
}
traverse(root.left, targetSum, nodeList.slice(0))
traverse(root.right, targetSum, nodeList.slice(0))
}