Te da dos cadenas word1 y word2. Empiece con word1 y combine las cadenas añadiendo letras alternativamente. Si una cadena es más larga que otra, las letras adicionales se añaden al final de la cadena combinada.
Devuelve la cadena combinada.
Simplemente atraviesa las dos cadenas directamente:
class Solution {
public:
string mergeAlternately(string word1, string word2) {
int index1 = 0, index2 = 0;
int len1 = word1.size(), len2 = word2.size();
string ret;
int flag = 1;
while (index1 < len1 && index2 < len2) {
if (flag) {
ret.push_back(word1[index1]);
++index1;
} else {
ret.push_back(word2[index2]);
++index2;
}
flag = 1 - flag;
}
while (index1 < len1) {
ret.push_back(word1[index1]);
++index1;
}
while (index2 < len2) {
ret.push_back(word2[index2]);
++index2;
}
return ret;
}
};