# Java Program to print all permutations of a given string

A permutation, also called an “arrangement number” or “order, ” is a rearrangement of the elements of an ordered list S into a one-to-one correspondence with S itself. A string of length n has n! permutation.
Source: Mathword(http://mathworld.wolfram.com/Permutation.html)

Below are the permutations of string ABC.
ABC ACB BAC BCA CBA CAB

## Java

 // Java program to print all permutations of a // given string. public class Permutation {     public static void main(String[] args)     {         String str = "ABC";         int n = str.length();         Permutation permutation = new Permutation();         permutation.permute(str, 0, n - 1);     }        /**      * permutation function      * @param str string to calculate permutation for      * @param l starting index      * @param r end index      */     private void permute(String str, int l, int r)     {         if (l == r)             System.out.println(str);         else {             for (int i = l; i <= r; i++) {                 str = swap(str, l, i);                 permute(str, l + 1, r);                 str = swap(str, l, i);             }         }     }        /**      * Swap Characters at position      * @param a string value      * @param i position 1      * @param j position 2      * @return swapped string      */     public String swap(String a, int i, int j)     {         char temp;         char[] charArray = a.toCharArray();         temp = charArray[i];         charArray[i] = charArray[j];         charArray[j] = temp;         return String.valueOf(charArray);     } }    // This code is contributed by Mihir Joshi

Output:

ABC
ACB
BAC
BCA
CBA
CAB

Please refer complete article on Write a program to print all permutations of a given string for more details!

My Personal Notes arrow_drop_up
Article Tags :

6

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.