Java Program To Find All Permutations Of String Recursively Test Case 1 Input (stdin) JSP Expected Output JSP JPS SJP SPJ PJS PSJ Test Case 2 Input (stdin) AVM Expected Output AVM AMV VAM VMA MAV MVA
import java.util.Scanner;
public class TestClass{
public static void main(String[] args) {
try {
Scanner scanner = new Scanner(System.in);
Permute permute = new Permute();
String string = scanner.next();
permute.permuteString("", string);
scanner.close();
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
}
class Permute {
public static void permuteString(String prefix, String suffix) {
if (suffix.equals("")) {
System.out.println(prefix);
} else {
for (int i = 0; i < suffix.length(); i++) {
permuteString(prefix + suffix.charAt(i), suffix.substring(0, i)
+ suffix.substring(i + 1));
}
}
}
}