import java.util.*;
public class RecursionTest02
{
public static void main(String [] args)
{
System.out.println(permutate("Dog"));
}
public static ArrayList<String> permutate(String n)
{
ArrayList<String> result = new ArrayList<String>();
if(n.length() == 0) { result.add(""); return result; }
if(n.length() == 1) { result.add(n); return result; }
for (int i = 0; i < n.length(); i++)
{
String shorterWord = n.substring(0, i)
+ n.substring(i + 1);
ArrayList<String> shorterResult = new ArrayList<String>();
shorterResult = permutate(shorterWord);
for(String e : shorterResult)
{
result.add(e);
}
}
return result;
}
}