Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
16278 | 谭老师 | 最长回文子串 | C++ | Accepted | 6 MS | 728 KB | 732 | 2021-07-27 22:30:17 |
#include<iostream> using namespace std; int main() { string str ; int maxLen = 1 ; cin >> str ; for(int i = 0 ; i < str.length() ; i++) { int temp = 0 ; for(int j = str.length()-1 ; j > i ; j--) { if((i + temp < j) && (str[i+temp] == str[j])) temp++; else { temp = 0 ; continue ; } if((i + temp) == (j - 1) && (2 * temp + 1) > maxLen) maxLen = (2 * temp + 1) ; else if((i + temp) == j && (2 * temp) > maxLen) maxLen = (2 * temp) ; } } cout << maxLen << endl; return 0 ; }