# Generating all permutations of a given string

###### Posted By: Anonymous

What is an elegant way to find all the permutations of a string. E.g. permutation for `ba`

, would be `ba`

and `ab`

, but what about longer string such as `abcdefgh`

? Is there any Java implementation example?

## Solution

```
public static void permutation(String str) {
permutation("", str);
}
private static void permutation(String prefix, String str) {
int n = str.length();
if (n == 0) System.out.println(prefix);
else {
for (int i = 0; i < n; i++)
permutation(prefix + str.charAt(i), str.substring(0, i) + str.substring(i+1, n));
}
}
```

(via Introduction to Programming in Java)

###### Answered By: Anonymous

Disclaimer: This content is shared under creative common license cc-by-sa 3.0. It is generated from StackExchange Website Network.