77. Combinations

import java.util.ArrayList;
import java.util.List;

public class Solution {
    public List<List<Integer>> combine(int n, int k) {
        List<List<Integer>> res=new ArrayList<List<Integer>>();
        List<Integer> temp=new ArrayList<Integer>();
        bfs(res,temp,0,n,k);
        return res;
        
    }
    
    public void bfs(List<List<Integer>> res,List<Integer> temp,int i,int n,int k)
    {
        if(k-temp.size()>n-i)
            return;
        if(temp.size()==k)
        {
            List<Integer> dd=new ArrayList<Integer>(temp);
            res.add(dd);
            return ;
        }
        for(int ii=i+1;ii<=n;ii++)
        {
            temp.add(ii);
            bfs(res,temp,ii,n,k);
            temp.remove(temp.size()-1);
        }
        
    }
}

 

posted @ 2016-07-18 14:49  阿怪123  阅读(137)  评论(0编辑  收藏  举报