随便写了个,比较啰嗦。
下次有机会找找好的方法。
#include <iostream> #include <string> #include <cstring> #include <algorithm> #include <vector> using namespace std; vector<string> vs; int main() { int N; cin >> N; getchar(); while (N--) { string str; getline(cin, str, '\n'); reverse(str.begin(), str.end()); vs.push_back(str); } string res = ""; string s1 = vs[0]; int len = s1.length(); for (int i = 0; i < len; i++) { bool flag = true; for (int j = 1; j < vs.size(); j++) { if (s1[i] != vs[j][i]) { flag = false; break; } } if (flag) res += s1[i]; else break; } reverse(res.begin(), res.end()); if (res.empty()) cout << "nai" << endl; else cout << res << endl; }