求公共后缀

输入

3

Itsi nyan!

wansahsjnyan!

this is anpnyan!

输出

nyan!

说明:不存在的话输出nai

#include <iostream>
#include <sstream>
#include <cstring>
using namespace std;

int main() {

	char s[100][256];   //最多100个字符串,每个字符串256个字符
	int n, ans = 0, minLen = 256;

	cin >> n;
	getchar();
	for (int i = 0; i < n; i++)
	{
		// cin >> s[i];   这样的输出遇到空格就不行
		gets_s(s[i]);
		int len = strlen(s[i]);
		if (len < minLen)             //取最小长度
			minLen = len;
		for (int j = 0; j < len / 2; j++)
		{
			char temp = s[i][j];
			s[i][j] = s[i][len - j - 1];
			s[i][len - j - 1] = temp;
		}
	}
	for (int i = 0; i < minLen; i++) //判断所有字符串的第i个字符是否全部相等
	{
		char c = s[0][i];   //取第一个字符串的第i个字符
		bool same = true;
		for (int j = 1; j < n; j++) //判断其余字符串的第i个字符是否是c
		{
			if (c != s[j][i])
			{
				same = false;
				break;
			}
		}
		if (same) ans++;  //若所有字符串的第i位相等,则计数加1
		else   break;
	}
	if (ans)
	{
		for (int i = ans - 1; i >= 0; i--)
		{
			cout << s[0][i];    //将结果逆序输出
		}
	}
	else
		cout << "nai";
 
	return 0;
}

  

posted @ 2018-08-05 17:26  道微真理  阅读(111)  评论(0)    收藏  举报