题目内容:
给你两个字符串 word1 和 word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/merge-strings-alternately
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解题思路:跟归并排序类似,将两个字符串归并在一起,首先判断俩个字符串的下标是否都是在自己的长度范围里,若是则将两个字符串的各自一个元素依次放入新的字符串中,若不是则表明已经有至少一个字符串遍历完毕,这时跳出第一个循环,开始判断是哪一个字符串还没有遍历完毕,将剩余部分追加到新的字符串中。
C++示例代码:
class Solution {
public:
string mergeAlternately(string word1, string word2) {
string newword;
int i = 0;
while (i < word1.length() && i < word2.length()) {
newword.push_back(word1[i]);
newword.push_back(word2[i]);
i++;
}
if (i == word1.length()) {
while (i < word2.length()) {
newword.push_back(word2[i]);
i++;
}
}
else {
while (i < word1.length()) {
newword.push_back(word1[i]);
i++;
}
}
return newword;
}
};