例如{1,2}可以输出1,2,12,21 我看不太懂答案代码的思想,求解释
答案代码如下:
public class A {
public static void main(String args[]){
String[] array = new String[]{"1","2","3","4"};
listall(Arrays.asList(array),"");
}
public static void listall(java.util.List<String> list,String prefix){
System.out.println(prefix);
for(int i = 0 ; i < list.size();i++)
{
List temp = new LinkedList(list);
listall(temp,prefix+temp.remove(i));
}
}
}
用的递归,本人看的不太明白,求高人指点,说明白他的思路就好了。 |