生成给定字符串的所有排列
找到字符串的所有排列的优雅方法是什么?例如,的排列将是 和 ,但是较长的字符串呢, 例如 ?有没有Java实现示例?ba
ba
ab
abcdefgh
找到字符串的所有排列的优雅方法是什么?例如,的排列将是 和 ,但是较长的字符串呢, 例如 ?有没有Java实现示例?ba
ba
ab
abcdefgh
public static void permutation(String str) {
permutation("", str);
}
private static void permutation(String prefix, String str) {
int n = str.length();
if (n == 0) System.out.println(prefix);
else {
for (int i = 0; i < n; i++)
permutation(prefix + str.charAt(i), str.substring(0, i) + str.substring(i+1, n));
}
}
(通过 Java 编程简介)
使用递归。