STRING PERMUTATIONS

Description:

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

Program :


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));

                        }

                }

        }

 

}