您的位置:首页 > 其它

PAT 1077. Kuchiguse (20) 求公共最长后缀, 字符串的整行读取

2018-01-22 00:03 363 查看
/*************************
题意:
求出字符串的最长后缀
************************/
/***********************
解题思路:
不断从后往前比较即可。
注意这里要用getline(cin, s)去读取一行字符串
*************************/
/***********************
笔记:
*********************/
#include<iostream>
#include<stdio.h>
#include<string>
#include<vector>
#include<queue>
#include<stdlib.h>
#include<algorithm>
#include<string.h>
#include<stack>
#include<map>
#include<set>
#include<unordered_map>
using namespace std;
#define M 1000
#define INF 0x7ffffff

string s[M];
int len[M];
int main(){
int i, n, j;
scanf("%d", &n);
getchar();
int lenmin = INF;
for(i = 0;i < n; i++){
getline(cin, s[i]);
len[i] = s[i].size();
if(len[i] < lenmin)
lenmin = len[i];
}
char c;
vector<char> ans;
j = 1;
while(1){
if(len[0] - j < 0)
break;
c = s[0][len[0] - j];
for( i = 1;i < n; i++){
if(len[i] - j < 0)
break;
if(s[i][len[i] - j ] != c){
break;
}
}
if(i != n)
break;
else ans.push_back(c);
j++;
}

if(ans.size() == 0)
cout<<"nai"<<endl;
else{
for(i = ans.size()-1;i>=0;i--)
cout<<ans[i];
cout<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐