题目介绍:
输出给定数组或者字符串,输出所有排列可能。
例如:给定字符串为 1234. 输出所有排列可能:1234 1324 1423 1432.。。。。。。。
下面代码是搜集到的比较简洁的实现方式。共享一下
public class MySocket {
public static void main(String[] args) {
String[] array = new String[]{"1","2","3","4"};
listAll(Arrays.asList(array), "");
}
public static void listAll(List candidate, String prefix) {
if(prefix.length()==4){
System.out.println(prefix);
}
for(int i=0;i
List tmp = new LinkedList(candidate);
listAll(tmp, prefix + tmp.remove(i));//函数中的参数从右边开始解析
}
}
}