找到字符串的所有排列的一种优雅方法是什么。例如,的排列ba会是ba和ab,但是较长的字符串abcdefgh呢?有任何Java实现示例吗?
ba
ab
abcdefgh
Java
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)); } }