文章
79
粉丝
221
获赞
46
访问
202.1k
先附上完整代码
#include <iostream>
#include <string>
using namespace std;
int main() {
string s, m = "GZU", res = "";
getline(cin, s);
s = "GzzGzukkgzUuu";
for (int i = 0,j,k; i < s.size(); i++) {
for (j = 0, k = i; j < m.size(); j++, k++)
if ((s[k] != m[j]) && (s[k] != m[j] - 'A' + 'a'))
break;
if (j != m.size())
res = res + s[i];
else
i += m.size()-1;
}
cout << res;
return 0;
}
该算法为简单模式匹配,即对于字符串S中对所有字符开头查找模式串。使用res来存储不含模式串“GZU”的字符,若对字符串S中某个字符匹配成功,即模式串中的遍历指针j到达尾部,则将略过模式串长度的字符串,否则就将其加入结果字符串中。
登录后发布评论
暂无评论,来抢沙发