39 lines
784 B
C++
39 lines
784 B
C++
#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;
|
|
}
|