首页 > 解决方案 > 进程被终止。完成时间超过 12000 毫秒

问题描述

创建一个函数,接收一个句子并将每个“i”转换为“wi”,将“e”转换为“we”,并在末尾添加“owo”。

我正在为上述问题创建函数并收到错误:

进程被终止。完成时间超过 12000 毫秒

谁能帮我解决这个问题?

#include<string>

std::string owofied(std::string sentence) {
    int pos=0;
    for(int i =0 ; i<sentence.size(); i++)
    {
        if(sentence[i]=='i')
            sentence.replace(i,1,"wi");
        else if(sentence[i]=='e')
            sentence.replace(i,1,"we");
        pos=i;
    }
    sentence.insert(pos,"owo");
    return sentence;
}

标签: c++c++11

解决方案


您的代码将“e”变成“we”。但随后它将“我们”中的“e”变成了“我们”,创造了另一个也被替换的“我们”。

一个简单的解决方法是i在更换后增加额外的时间。


推荐阅读