binary tree
7
11
2
4
5
13
8
5
4
1
call stack ↓
(returned)
Recursive DFS + backtracking
▸1dfs(node, remaining):2 path.push(node.val); remaining -= node.val // go down3 if leaf and remaining == 0: results.push(copy of path)4 dfs(node.left, remaining)5 dfs(node.right, remaining)6 path.pop() // backtrack7// answer = results
state
- target22
- path[]
- results∅