[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/Sethu1910/java-basics/master/java-programs/Permutation.java [Back]  [Original]

package misc;
/**
 * Algorithm:-
 * 1. Try each of the letters in turn as the first letter and 
 *    then find all the permutations of the remaining letters using a recursive call.
 * 2. The base case is when the input is an empty string the only permutation is the empty string.
 * 
 */
public class Permutation {

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

	public static void main(String[] args) {

		String str = "ABC";
		Permutation obj = new Permutation();
		obj.permutation(str);
	}
}

Web Proxy Viewer  |  New URL  |  Original Page