Calmer的文章

  • 首页
  • 文章归档
  • 关于页面

  • 搜索
体验游戏 笔记 推荐 工具链 工具使用 小游戏 插件 UI 软件 教程

寻找最长回文子串

发表于 2020-08-01 | 分类于 算法 | 0 | 阅读次数 886

题目

给定一个字符串s, 找到s中最长的回文子串。你可以假设s的最大长度为1000.


class Palindrome
{
    public static string FindLongestSubPalindromeStr(string sourceStr)
    {
        string dstStr = "";
        if(sourceStr.Length == 0)
            return dstStr;

        for(int centerIndex = 0; centerIndex<sourceStr.Length; centerIndex++)
        {
            string curStr = sourceStr[centerIndex].ToString();
            int left = centerIndex - 1;
            int right = centerIndex + 1;
            //判断奇数
            while(left>=0 && right<sourceStr.Length)
            {
                if(sourceStr[left] != sourceStr[right])
                    break;
                else
                {
                    curStr = sourceStr.SubString(left, right-left+1);
                    left--;
                    right++;
                }
            }

            if(curStr.Length > dstStr.Length)
            {
                dstStr = curStr;
            }

            //判断偶数
            int middleRight = centerIndex + 1;

            if(middleRight >=sourceStr.Length)
                continue;
            if(sourceStr[centerIndex] != sourceStr[middleRight])
                continue;

            left = centerIndex - 1;
            right = middleRight + 1;
            while(left>=0 && right<sourceStr.Length)
            {
                if(sourceStr[left] != sourceStr[right])
                    break;
                else
                {
                    curStr = sourceStr.SubString(left, right-left+1);
                    left--;
                    right++;
                }
            }

            if(curStr.Length > dstStr.Length)
            {
                dstStr = curStr;
            }
        }
        return dstStr;
    }
}
  • 本文作者: Calmer
  • 本文链接: https://mytechplayer.com/archives/寻找最长回文子串
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
括号匹配
最短编辑距离
  • 文章目录
  • 站点概览
Calmer

Calmer

88 日志
7 分类
10 标签
RSS
Creative Commons
0%
© 2020 — 2025 Calmer
由 Halo 强力驱动
蜀ICP备20010026号-1川公网安备51019002006543
Copyright © 2020-2025 Calmer的文章