标签:
典型的dfs题,建议在其他dfs之前做
public class Solution { public ArrayList<ArrayList<Integer>> combine(int n, int k) { ArrayList<ArrayList<Integer>> res = new ArrayList<ArrayList<Integer>>(); if(n<=0 || k>n) return res; ArrayList<Integer> item =new ArrayList<Integer>(); dfs(res,n,k,item,1); return res; } private void dfs(ArrayList<ArrayList<Integer>> res, int n, int k, ArrayList<Integer> item, int start){ if(item.size()==k){ //res.add(item); res.add(new ArrayList<Integer>(item)); return; } for(int i=start; i<=n;i++){ item.add(i); dfs(res,n,k,item,i+1); item.remove(item.size()-1); } } }
标签:
原文地址:http://www.cnblogs.com/jiajiaxingxing/p/4555990.html