End Google Ads 201810 - BS.net 01 --> string laceStrings(const string& s1, const string& s2){ if (s1.empty()) return s2; if (s2.empty()) return s1; string laced; laced.resize(s1.size() + s2.size()); int i = 0, pos = 0; int size = std::min(s1.size(), s2.size()); // interlace common lengths substrings for ( ; i < size; ++i) { laced[pos++] = s1[i]; laced[pos++] = s2[i]; } // append the remainder of longer string if (s1.size() >= s2.size()) for ( ; i < s1.size(); ++i) laced[pos++] = s1[i]; else for ( ; i < s2.size(); ++i) laced[pos++] = s2[i]; return laced;}