一尘不染

Java-生成给定字符串的所有排列

java

找到字符串的所有排列的一种优雅方法是什么。例如,的排列ba会是baab,但是较长的字符串abcdefgh呢?有任何Java实现示例吗?


阅读 367

收藏
2020-02-25

共1个答案

一尘不染

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));
    }
}
2020-02-25