【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";
}
posted @ 2021-03-04 21:28  Hyx'  阅读(67)  评论(0)    收藏  举报