[dfs] combination sum 2
populating next right pointers in each node 1/2
[dp | dfs] distinct subsequences

convert dfs problem to dp