class Solution {
public List<List<Integer>> combinationSum3(int k, int n) {
List<List<Integer>> res=new ArrayList<>();
List<Integer> tmp=new ArrayList<>();
dfs(k,n,res,tmp,1);
return res;
}
public void dfs(int k,int n,List<List<Integer>> res,List<Integer> tmp,int start)
{
if(n<0) return ;
if(n==0&&tmp.size()==k) res.add(new ArrayList<>(tmp));
for(int i=start;i<=9;i++)
{
tmp.add(i);
dfs(k,n-i,res,tmp,i+1);
tmp.remove(tmp.size()-1);
}
}
}