采用递归求解,解决排列问题,这里只给出了实现方法的关键步骤
public class ArrangeImpl {
public void arrangeImpl(int k, int n, char[] arr) {
if (k == n) {
for (int i = 0; i < n; i++) {
System.out.print(arr[i]);
}
System.out.println();
} else {
char x;
for (int i = k; i < n; i++) {
x = arr[k];
arr[k] = arr[i];
arr[i] = x;
arrangeImpl(k + 1, n, arr);
x = arr[k];
arr[k] = arr[i];
arr[i] = x;
}
}
}
}