void doAnagram(StringBuilder prefix, StringBuilder suffix){
if(suffix.length()==1){
System.out.println(prefix.append(suffix));
return;
}
for(int i=0;i < suffix.length();i++){
String tempPre=prefix.toString();
String tempSuf=suffix.toString();
doAnagram(prefix.append(suffix.charAt(i)),new StringBuilder(suffix.substring(0, i)+suffix.substring(i+1, suffix.length())));
prefix=new StringBuilder(tempPre);suffix=new StringBuilder(tempSuf);
}
}
if(suffix.length()==1){
System.out.println(prefix.append(suffix));
return;
}
for(int i=0;i < suffix.length();i++){
String tempPre=prefix.toString();
String tempSuf=suffix.toString();
doAnagram(prefix.append(suffix.charAt(i)),new StringBuilder(suffix.substring(0, i)+suffix.substring(i+1, suffix.length())));
prefix=new StringBuilder(tempPre);suffix=new StringBuilder(tempSuf);
}
}
No comments:
Post a Comment