倒过来就方便了很多,一开始自己还把空格排除了,原来都是算的。
#include <bits/stdc++.h>
using namespace std;
vector<string> v;
int main() {
int n;
scanf ("%d", &n);
v.resize(n);
getchar();
for (int i = 0; i < n; i++) {
getline(cin, v[i]);
reverse(v[i].begin(), v[i].end());
}
string ans = v[0];
for (int i = 1; i < n; i++) {
string temp;
for (int j = 0; j < v[i].size(); j++) {
if (v[i][j] == ans[j]) temp += ans[j];
else break;
}
ans = temp;
}
reverse(ans.begin(), ans.end());
if (ans.size() == 0) printf ("nai");
else cout << ans;
}