fork(16) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. ArrayList<String> list = permutations("abcd");
  13. for(String s : list)
  14. System.out.println(s);
  15. }
  16.  
  17. static ArrayList<String> permutations(String s) {
  18. ArrayList<String> ret = new ArrayList<String>();
  19. permutation(s.toCharArray(), 0, ret);
  20. return ret;
  21. }
  22.  
  23. public static void permutation(char[] arr, int pos, ArrayList<String> list){
  24. if(arr.length - pos == 1)
  25. list.add(new String(arr));
  26. else
  27. for(int i = pos; i < arr.length; i++){
  28. swap(arr, pos, i);
  29. permutation(arr, pos+1,list);
  30. swap(arr, pos, i);
  31. }
  32. }
  33.  
  34. public static void swap(char[] arr, int pos1, int pos2){
  35. char h = arr[pos1];
  36. arr[pos1] = arr[pos2];
  37. arr[pos2] = h;
  38. }
  39. }
Success #stdin #stdout 0.07s 380160KB
stdin
Standard input is empty
stdout
abcd
abdc
acbd
acdb
adcb
adbc
bacd
badc
bcad
bcda
bdca
bdac
cbad
cbda
cabd
cadb
cdab
cdba
dbca
dbac
dcba
dcab
dacb
dabc