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

标签 java algorithm

查找字符串所有排列的优雅方法是什么?例如。 ba 的排列将是 baab,但是更长的字符串(例如 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));
    }
}

(来自 Introduction to Programming in Java )

关于java - 生成给定字符串的所有排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57675459/

相关文章:

java - 解析有关搜索条件的用户输入

java - 如何从MYSQL数据库中获取数据并显示在应用程序中?

algorithm - 将一组形状简化为单个形状

python - 如何在广度优先搜索中追踪路径?

c++ - 如何从阻力网络中去除循环

algorithm - 交替和顺序结构算法

java - 在 Eclipse 中创建 JavaFX 自包含应用程序(使用自定义 JDK)

java - Gradle项目中的Gradle项目?

java - 在 Java 中,我什么时候会在 sparseArray 上使用 ArrayList?

c - 带隧道的路线图