leetcode力扣每日一题 1768. 交替合并字符串

题目内容:

给你两个字符串 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;
    }
};

你可能感兴趣的:(LeetCode,c++,visualstudio,算法)