题解 | #最长回文子串#

最长回文子串

https://www.nowcoder.com/practice/b4525d1d84934cf280439aeecc36f4af?tpId=117&tqId=37789&rp=1&ru=/exam/oj&qru=/exam/oj&sourceUrl=%2Fexam%2Foj%3Fpage%3D1%26pageSize%3D50%26search%3D%26tab%3D%25E7%25AE%2597%25E6%25B3%2595%25E7%25AF%2587%26topicId%3D117&difficulty=undefined&judgeStatus=undefined&tags=&title=

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

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;
    }
};
全部评论

相关推荐

2024-12-18 14:13
蚌埠坦克学院 golang
苏州科技大学:面试官:接个面试,对面同学是个杀软二次元
点赞 评论 收藏
分享
2024-11-19 23:36
未填写教育信息 Java
废铁汽车人:秋招真是牛鬼蛇神齐聚一堂
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务