[算法题]最长回文子串

题目链接: 最长回文子串

使用中心扩展算法进行求解, 即遍历字符串长度, 每次以当前位置为中心向左右扩展, 根据字符串长度的奇偶情况需要不同处理求最大值, 在枚举中心点时, 需要考虑两种遍历方式:

  • 第一种:

        

  • 第二种:

        

题解代码:

class Solution 
{
public:
    //中心扩展算法
    int getLongestPalindrome(string A) 
    {
        int len = 0;
        //枚举每个中心点
        for(int i = 0; i < A.size(); ++i)
        {   
            //奇数
            int left = i - 1;
            int right = i + 1;
            while(left >= 0 && right < A.size() && A[left] == A[right])
            {
                left--;
                right++;
            }
            len = max(len, right - left - 1);

            //偶数
            left = i;
            right = i + 1;
            while(left >= 0 && right < A.size() && A[left] == A[right])
            {
                left--;
                right++;
            }
            len = max(len, right - left - 1);
        }
        return len;
    }
};

相关推荐

  1. leetcode第5

    2024-07-20 02:54:03       23 阅读
  2. 【leetcode 5】, Manachers算法

    2024-07-20 02:54:03       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 02:54:03       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 02:54:03       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 02:54:03       45 阅读
  4. Python语言-面向对象

    2024-07-20 02:54:03       55 阅读

热门阅读

  1. LLM推理需要占用多少显存

    2024-07-20 02:54:03       16 阅读
  2. 应届硕士职业生涯规划

    2024-07-20 02:54:03       16 阅读
  3. 2024 Linux 运维面试题分享-1

    2024-07-20 02:54:03       15 阅读
  4. 大模型日报 2024-07-19

    2024-07-20 02:54:03       17 阅读
  5. Vant组件库的按需导入和导出

    2024-07-20 02:54:03       19 阅读
  6. UDP checksum calculation

    2024-07-20 02:54:03       21 阅读
  7. 设计模式总结

    2024-07-20 02:54:03       19 阅读