我明白你的意思!因为第7行必须执行n!程序打印字符串的所有排列的时间。n*n从哪里来?不是小于n吗!所以应该忽略。
1. void perm(String str){
2. perm(str, "");
3. }
4.
5. void perm(String str, String prefix){
6. if(str.length() == 0){
7. System.out.println(prefix);
8. } else{
9. for(int i = 0; i < str.length(); i++){
10. String rem = str.substring(0, i) +
str.substring(i + 1);
11. perm(rem, prefix + str.charAt(i));
12. }
13. }
14. }
1条答案
按热度按时间bpsygsoo1#
可能是因为字符串连接困难。尝试使用stringbuilder: