133.路径总和II

用时 :10min

题意求的是从根节点到子节点相加等于目标值的路径,很容易想到是用到DFS,路径可以作为参数传递下去,只要满足最后的是叶子结点即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var pathSum = function(root, sum) {
var res = []
if (!root) return []
var dfs = function (node,visited,total) {
if (sum === total && (!node.left && !node.right)) {
res.push(visited)
return
}
node.left && dfs(node.left,[...visited,node.left.val],total + node.left.val)
node.right && dfs(node.right ,[...visited,node.right.val], total + node.right.val)
}
dfs(root,[root.val],root.val)
return res
};