Я пытаюсь реализовать простой метод «перемешивания строк», который рекурсивно смешивает две строки одинакового размера (например, cat и dog становятся cdaotg - первая буква из строки 1, первая буква из строки 2 и т. Д.).Почему мой метод «перемешивания строк» возвращает неожиданные результаты?
Мой метод заключается в следующем:
string mingleStrings(string s1, string s2, int index) {
if (index >= s1.length()) {
return "";
} else {
string mingled = "";
mingled += s1[index] + s2[index];
mingled += mingleStrings(s1,s2,++index);
return mingled;
}
}
Когда я использую оператор подстрочного на моей строке (s1 [индекс]), он возвращает всю строку до этого индекса. Чтобы получить конкретный символ строки с определенным индексом, мне нужно ввести s1 [index, index]. Это ново для меня.
могли бы вы предоставить [MCVE] (http://stackoverflow.com/help/mcve) где 's1 [индекс]' возвращает целую подстроку и где 's1 [индекс, индекс]' исправляет это? Это определенно не должно происходить, и 'index, index' просто дважды оценивает« индекс »и использует вторую оценку. – chris
Неужели это не так? –