public class StrTest {
public static void main(String[] args) {
String s = "abc";
char[] c = s.toCharArray();
for (int i = 0; i < c.length; i++) {
for (int j = 0; j < c.length - 1; j++) {
char ch = c[j+1];
c[j+1] = c[j];
c[j] = ch;
System.out.println(new String(c));
}
}
}
}
color4you 的错误 如果4位那么循环执行4*3=12 只有12个结果但实际上又4*3*2*1=24个结果
public static void main(String[] args) throws Exception {
printString("", "abc");
}
private static void printString(String s1, String s2) {
if (s2.length() == 1) {
System.out.println(s1 + s2);
} else {
for (int i = 0; i < s2.length(); i++) {
printString(s1 + s2.substring(i, i + 1), s2.substring(0, i)
+ s2.substring(i + 1));
}
}
}