题目链接
思路
借鉴其他人的思路,将字符串反转,方便从同一下标处开始遍历
代码
using namespace std;
#include <iostream>
#include<string>
#include<algorithm>
int main() {
int n;
cin >> n;
getchar();
string* pointer = new string[n];
int min = 0x3f3f3f3f;
for (int i = 0; i < n; i++) {
getline(cin, pointer[i]);
min = pointer[i].size() < min ? pointer[i].size() : min;
reverse(pointer[i].begin(), pointer[i].end());
}
int index = 0;
bool flag = false;
for (int i = 0; i < min; i++) {
for (int j = 1; j < n; j++) {
if (pointer[j][i] != pointer[j - 1][i]) {
index = i - 1;
flag = true;
break;
}
}
if (flag)break;
}
if (index == -1)cout << "nai";
else {
string result = pointer[0].substr(0, index + 1);
reverse(result.begin(), result.end());
for (auto i : result)cout << i;
}
return 0;
}