problems(cpp): add “1768. Merge Strings Alternately”

Signed-off-by: Matej Focko <mfocko@redhat.com>
This commit is contained in:
Matej Focko 2023-04-19 00:17:54 +02:00
parent d8009b9a4a
commit 748624e5ee
Signed by: mfocko
GPG key ID: 7C47D46246790496

View file

@ -0,0 +1,39 @@
#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;
}