Skip to content

Instantly share code, notes, and snippets.

@darrenrogan
Created September 3, 2013 04:42
Show Gist options
  • Save darrenrogan/6419774 to your computer and use it in GitHub Desktop.
Save darrenrogan/6419774 to your computer and use it in GitHub Desktop.
package darren.rogan;
public class SolutionImpl {
String permute(String text){
int length = text.length();
boolean[] used = new boolean[length];
StringBuffer out = new StringBuffer();
char [] letters = text.toCharArray();
doPermute(letters,length,used,out,0);
return out.toString();
}
private void doPermute(char[] letters, int length, boolean[] used,
StringBuffer out, int level) {
if (level == length) {
System.out.println(out);
return;
}
for(int i=0; i<length;i++){
if(used[i]) continue;
out.append(letters[i]);
used[i]=true;
doPermute(letters,length,used,out,level+1);
used[i]=false;
out.setLength(out.length()-1);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment