我正在研究递归代码以打印输入序列的所有可能的输出字符串。为简化起见,我将缩短问题。我有一个String[]
数组。我想打印所有可能的单词组合,从一次[0]
只[N]
考虑一个字符String
。示例:String[] a = {"abc", "def", "ghi"}
我应该打印adg, adh, adi, aeg.. etc
这是我的递归代码:
void printLetters(String[] list, int count, String result)
{
if(list == null)
return;
if(count > list.length-1)
{
System.out.println(result);
return;
}
for(int i = 0; i<list[count].length(); i++)
{
printLetters(list, count++, result + list[count].charAt(i) + "");
}
}
当我得到一个StackOverflowError
. 有人可以指出我的错误吗?