删除单词后缀
题目描述
给定一个单词,如果该单词以 er
、 ly
或者 ing
后缀结尾,则删除该后缀(题目保证删除后缀后的单词长度不为
0
0
0),否则不进行任何操作。
输入格式
输入一行,包含一个单词(单词中间没有空格,每个单词最大长度为 32 32 32)。
输出格式
输出按照题目要求处理后的单词。
样例 #1
样例输入 #1
referer
样例输出 #1
refer
代码内容
// #include <iostream>
// #include <algorithm>
// #include <cstring>
// #include <sstream>//整型转字符串
// #include <stack>//栈
// #include <deque>//堆/优先队列
// #include <queue>//队列
// #include <map>//映射
// #include <unordered_map>//哈希表
// #include <vector>//容器,存数组的数,表数组的长度
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
string s;
cin>>s;
reverse(s.begin(),s.end());//第一次翻转
//由于翻转,子串也要翻转
if(s.find("re",0)==0||s.find("yl",0)==0) s.erase(0,2);//删除长度是二的
else if(s.find("gni",0)==0) s.erase(0,3);//删除长度是三的
reverse(s.begin(),s.end());//重新翻转回来
cout<<s<<endl;
return 0;
}