我正在尝试返回字符串数组中所有可能的值排列。我提出了以下代码,可以进行所有可能的排列;它工作正常。
private void combineArray(String sPrefix, String[] sInput, int iLength) {
if (iLength == sPrefix.length()) {
//This value should be returned and concatenated:
System.out.println(sPrefix);
} else {
for (int i=0; i<sInput.length; i++) {
combineArray(sPrefix.concat(sInput[i]), ArrayUtils.removeElement(sInput, sInput[i]), iLength);
}
}
}
如果我输入 {x, y ,z} 它会打印到控制台:
xyz
xzy
yxz
yzx
zxy
zyx
我的问题是我找不到将这些值返回给原始调用函数的方法。所以我希望这个函数不返回“void”,而是返回一个包含 sPrefix 连接值的“String”。
我已经为此苦苦挣扎了一段时间,我似乎再也看不清楚了。:) 任何帮助,将不胜感激。