public void permutation(String s) { permutation("", s); } private void permutation(String prefix, String s) { int len = s.length(); System.out.println(prefix); for (int i = 0; i < len; i + +) { permutation(prefix + s.substring(i, i + 1), s.substring(0, i ) + s.substring(i +1, len)); } }
`n==0`
`n==1`
`prefix + str`
str.substring(i+1, n)
str.substring(i+1)
str.substring(i)
java.lang.StackOverflowError