使用递归生成所有字母组合的算法

Mat*_*att 2 java

我记得这个有一个特定的名字,并且各个网站上都有示例代码 - 但是我不记得它实际上叫什么,所以找不到任何东西......

基本上,我想在循环中生成所有可能的字母组合.输出将是这样的:

A
B
C
...
Z
AA
AB
AC
---
AZ
BA
BB
BC
Run Code Online (Sandbox Code Playgroud)

等等...

mer*_*ike 5

从数学角度讲,你正在寻找字母表的笛卡尔力量.

提供的递归adamk是正确的,但您可以简化它:

void printAllLetterSequences(String prefix, int length) {
    System.out.println(prefix);
    if (prefix.length() < length)
        for (char c = 'A'; c <= 'Z'; c++)
            printAllLetterSequences(prefix + c, length);
}
Run Code Online (Sandbox Code Playgroud)