This is the PathSum2 problem. The only change is that you have to return all of the paths rather than just true/false. This was trivial though given the way the algorithm works and the fact that you have a post-order traversal stack.