import java.util.ArrayList;
import java.util.Arrays;
public class 全排列 {
public static void main(String[] args) {
ArrayList<String> res = getPermutation("123");
System.out.println(res.size());
System.out.println(res);
}
static ArrayList<String> res = new ArrayList<>();
public static ArrayList<String> getPermutation(String A) {
char[] arr = A.toCharArray();
Arrays.sort(arr);
getPermutationCore(arr, 0);
return res;
}
private static void getPermutationCore(char[] arr, int k) {
if (k == arr.length) {
res.add(new String(arr));
}
for (int i = k; i < arr.length; i++) {
swap(arr, k, i);
getPermutationCore(arr, k + 1);
swap(arr, k, i);
}
}
static void swap(char[] arr, int i, int j) {
char tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
