Interview Question
AnalystsWe can do like this in java
public static ArrayList<String> permutation(String s)
{
if(s==null)
return null;
if(s.length()<=1)
{
ArrayList<String> a=new ArrayList<String>();
a.add(s);
return a;
}
char c=s.charAt(0);
ArrayList<String> a2=permutation(s.substring(1,s.length()));
for(String s2:a2)
{
for(int i=0;i<s2.length()+1;i++)
{
String s3=insert(s2,i,c);
a.add(s3);
}
}
return a;
}
public static String insert(String s,int i,char c)
{
String s1=s.substring(0,i);
String s2=s.substring(i);
String s3=s1+c+s2;
return s3;
}
We have to print all the combination of "abcdef". This can be easily done using recursion with backtracking.
- DashDash October 18, 2010