public class MyClass {
public static void print_permutations(String s) {
print_permutations("", s);
}
private static void print_permutations(String permutation, String s) {
int len = s.length();
if (len == 0) {
System.out.println(permutation);
}
else {
for (int i = 0; i < len; i++) {
print_permutations(permutation + s.charAt(i), s.substring(0, i) + s.substring(i + 1, len));
}
}
}
public static void main(String args[]) {
print_permutations("abcd");
}
}
/*
run:
abcd
abdc
acbd
acdb
adbc
adcb
bacd
badc
bcad
bcda
bdac
bdca
cabd
cadb
cbad
cbda
cdab
cdba
dabc
dacb
dbac
dbca
dcab
dcba
*/