A1077 Kuchiguse [字符串找相同后缀]

在这里插入图片描述


难点:卡了很久,输入第一个n后面有个换行符,不读取的话留在缓冲区会被读入第一个字符串,导致4个oj过不了,记住了!!!
思路:字符串反转每个和前面提取的公共部分比较。

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
	int n; string ans;
	scanf("%d", &n);
    getchar();
	for (int i = 0; i < n; i++)	
	{
		string s;
		getline(cin, s);
		int length = s.length();
		reverse(s.begin(), s.end());
		if (i == 0)
			ans = s;
		else
		{
			int length1 = ans.length();
			if (length < length1)
			{
				swap(ans, s);
			}
			for (int j = 0; j < ans.length(); j++)
			{
				if (ans[j] != s[j])
				{
					ans = ans.substr(0, j);
					break;
				}
			}
		}
	}
	reverse(ans.begin(), ans.end());
	if (ans.length() == 0)ans = "nai";
	cout << ans;
	return 0;
}
原文地址:https://www.cnblogs.com/Hsiung123/p/13812087.html