暴力破解,注意回文可能在不存在的位置,有两种情况

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;
    }
};