java基于两个字符串的差异创建所有变体
我确实有一个函数在等待两个字符串。我想返回一个包含所有可能变化的单词列表,可以根据差异创建
getAllVersions('cso','cső'); //--> [cso, cső]
getAllVersions('eges','igis'); //--> [eges, igis, egis, iges]
到目前为止,我已经创建了计算差异并保存其位置的函数。你知道怎么继续吗
public ArrayList<String> getAllVersions(String q, String qW) {
int differences = 0;
ArrayList<Integer> locations = new ArrayList<>();
ArrayList<String> toReturn = new ArrayList<>();
for (int i = 0; i < q.length(); i++) {
if (q.charAt(i) != q.charAt(i)) {
differences++;
locations.add(i);
}
}
toReturn.add(q);
toReturn.add(qW);
for (int i = 0; i < q.length(); i++) {
for (int j = 0; j < q.length(); j++) {
}
}
return toReturn;
}
}
# 1 楼答案
完成此操作后,toReturn应以q开头,以qW结尾,并且所有变量都在q和qW之间
# 2 楼答案
这是一个递归解决方案
时间复杂度:O(n)
测试代码:
输出: