使用递归来解决问题,下面给出代码。
void permutation(char[]str,int i){
if(i==str.length){
System.out.println(str);
return;
}
for(int k=i;k<str.length;k++){
swap(str,i,k);
permutation(str,i+1);
swap(str,i,k);
}
}
void swap(char[]str,int i,int j){
char tmp = str[i];
str[i] = str[j];
str[j] = tmp;
}
public void permutation(char[]str){
permutation(str,0);
}
public static void main(String[]args){
Permutation permutation = new Permutation();
permutation.permutation("abcd".toCharArray());
}