LeetCode/problems/merge-strings-alternately.cpp

40 lines
784 B
C++
Raw Normal View History

#include <cassert>
#include <string>
class Solution {
public:
std::string mergeAlternately(const std::string& word1, const std::string& word2)
{
std::string result;
auto l = word1.begin();
auto r = word2.begin();
for (; l != word1.end() && r != word2.end(); ++l, ++r) {
result += *l;
result += *r;
}
for (; l != word1.end(); ++l) {
result += *l;
}
for (; r != word2.end(); ++r) {
result += *r;
}
return result;
}
};
int main()
{
Solution s;
assert(s.mergeAlternately("abc", "pqr") == "apbqcr");
assert(s.mergeAlternately("ab", "pqrs") == "apbqrs");
assert(s.mergeAlternately("abcd", "pq") == "apbqcd");
return 0;
}