C++ 代码实现最长对称子串长度计算
#include
bool isPalindrome(string str) { int len = str.length(); for (int i = 0; i < len / 2; i++) { if (str[i] != str[len - i - 1]) { return false; } } return true; }
int longestPalindrome(string str) { int len = str.length(); int maxLength = 0; for (int i = 0; i < len; i++) { for (int j = i + 1; j <= len; j++) { string substr = str.substr(i, j - i); if (isPalindrome(substr) && substr.length() > maxLength) { maxLength = substr.length(); } } } return maxLength; }
int main() { string str; getline(cin, str); int length = longestPalindrome(str); cout << length << endl; return 0; }
原文地址: https://www.cveoy.top/t/topic/o2Ys 著作权归作者所有。请勿转载和采集!