我有两根绳子
输入
string a='101';
string b='(_^_)v_';
输出量
string c='(1^0)v1';
你们能告诉我用C++解决这个问题的方法吗?
例如,SO:
#include <iostream>
#include <string>
int main ()
{
std::string a="101";
std::string b="(_^_)v_";
for(char& c: a)
b.replace(b.find("_"), sizeof("_") - 1, std::string(1, c));
std::cout << b;
}
(1^0)v1
更新:O(n)变体
#include <iostream>
#include <string>
int main()
{
std::string a="101";
std::string b="(_^_)v_";
for(std::string::iterator ia = a.begin(), ib = b.begin(); ia != a.end() && ib != b.end(); ++ib) {
if (*ib == '_') {
*ib = *ia;
ia++;
}
}
std::cout << b;
}