【1077 20 字符串公共后缀】 Kuchiguse
传送门
题意
给定\(n\)个包含空格的字符串,求出公共后缀,没有输出nai
数据范围
\(n\leq 100\)
题解
- 将所有串翻转,求前缀
- 将第一个串保留,每次输入的时候用上次的结果进行匹配,最后为答案
Code
#include<bits/stdc++.h>
using namespace std;
string s[110];
int main(){
int n; cin>>n,getchar();
string ans;
for(int i=0;i<n;i++) {
string s; getline(cin,s);
reverse(s.begin(),s.end());
if(i==0) {ans=s; continue;}
int anssz=ans.size(),ssz=s.size();
int id=0,sz=min(anssz,ssz);
for(int j=0;j<sz;j++){
if(ans[j]!=s[j]){
ans=ans.substr(0,j);
break;
}
}
}
reverse(ans.begin(),ans.end());
if(ans.size()) cout<<ans;
else cout<<"nai";
}

浙公网安备 33010602011771号