暴力破解,注意回文可能在不存在的位置,有两种情况
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param A string字符串
* @return int整型
*/
// 贪心或者动态规划
// 考虑偶数字符串其中心并不实际存在,将字符串统一处理成奇数长度
int getLongestPalindrome(string A) {
if (A.empty()) {
return 0;
}
int res = 0;
for (int i = 0; i < A.size(); ++i) {
res = std::max(res, std::max(palindrome(A, i, i), palindrome(A, i, i + 1)));
}
return res;
}
private:
int palindrome(std::string &A, int left, int right) {
int count = 0;
while (left >= 0 && right < A.size()) {
if (A[left] != A[right]) {
break;
}
--left, ++right;
}
return right - left - 1;
}
};