2 fyxamlj fyxamlj 于 2014.08.05 15:58 提问

请问这道面试题的解决思路是什么?

题目:把一个数组里的数组合全部列出

代码是:
[code=java]public class Test7_1_1 {
public static void main(String[] args) throws Exception{
String[] array=new String[]{
"1","2","3","4"
};
listAll(Arrays.asList(array),"");
}
public static void listAll(List candidate,String prefix){
System.out.println(prefix);

    for(int i=0;i<candidate.size();i++){
        List temp=new LinkedList(candidate); 
        listAll(temp,prefix+temp.remove(i));
    }
}

}[/code]

书上没有讲解,我对这个问题的解决思路无法理解。
哪位大神能给我讲讲解决思路?

1个回答

woniu_521
woniu_521   2014.08.05 22:10

利用递归,逐步分解,最后求得所有组合

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!