【发布时间】:2015-02-20 02:10:55
【问题描述】:
到目前为止,我的代码似乎让我得到了正确的结果。除了我遇到了问题。当我给它一个长度为 8 个字符或更长的字符串时,它似乎没有结束。我已经有 30 亿个排列,它还在运行。当我尝试使用较短字符串的方法时,它终止并给出了正确的输出。我不知道还能尝试什么,我会很感激任何提示。这是Java代码:
public static void permutation(String prefix, String str) {
int n = str.length();
if (n == 0) {
permutations++;
System.out.println(prefix);
System.out.println("Permutations: " + permutations);
} else {
for (int i = 0; i < n; i++) {
permutation(prefix + str.charAt(i),
str.substring(0, i) + str.substring(i + 1));
}
}
}
【问题讨论】:
标签: java string recursion permutation