package problems.medium;
import problems.utils.TreeNode;
import java.util.ArrayList;
import java.util.List;
/**
* Created by sherxon on 2016-12-25.
*/
public class PathSum2 {
public List<List<Integer>> pathSum(TreeNode root, int sum) {
List<List<Integer>> l= new ArrayList<>();
f(root, sum, l, new ArrayList<>());
String m="";
return l;
}
void f(TreeNode x, int sum, List<List<Integer>> l, List<Integer> ll){
if(x==null)return;
ll.add(x.val);
f(x.left, sum-x.val, l,new ArrayList<>(ll));
f(x.right, sum-x.val, l, new ArrayList<>(ll));
if(x.left==null && x.right==null && sum-x.val==0)l.add(ll);
}
}