前缀是指 不包括字符串最后一位的任意字符串
后缀是指 不包括字符串最开始一位的任意字符串
比如 abcde
前缀有a, ab, abc, abcd 都不包括最后边的e
后缀有e, de, cde, bcde 都不包括最开始的a
求最大的公共长度
#include <iostream>
#include <string>
using namespace std;
int main() {
string s("abcdakashfkasdbcabcda");
int ans = 0;
for (int i = 0; i < s.size() - 1; i++) {
int tmp_i = i;
for (int j = i + 1; j < s.size(); j++) {
// count 用于计数,每一次循环都要置零
int count = 0;
int tmp_j = j;
while (tmp_i < s.size() && tmp_j < s.size() && s[tmp_i] == s[tmp_j]) {
// 计数加上1
count ++;
// 如果到了最后一位,说明到了最后的结尾了
if (tmp_j == s.size() - 1) {
ans = max(count, ans);
}
tmp_i ++;
tmp_j ++;
}
}
}
cout << ans << endl;
return 0;
}