【ybtoj 高效进阶 2.1】 【字符串】 单词替换

【ybtoj 高效进阶 2.1】 【字符串】 单词替换

题目

在这里插入图片描述
在这里插入图片描述


解题思路

在字符串s前加一个空格
让每一个单词前后都有空格间隔
在单词a和b前后也加空格
在字符串s中查找并替换
不知道为什么90啊,有巨爷帮忙看看么


代码

#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int l;
string x, y, s;
int main() {
    
    
    getline(cin, s);
    cin >> x >> y;
    s = " " + s;
    x = " " + x + " ";
    y = " " + y + " ";
    l = x.size();
    int i = 0;
    while (s.find(x, i) != -1) {
    
    
        int xx = s.find(x, i);
        s.erase(xx, l);
        s.insert(xx, y);
        i++;
    }
    for (int i = 1; i < s.size(); i++) cout << s[i];
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_45621109/article/details/113357838