题解 | #最长回文子串#

最长回文子串

https://www.nowcoder.com/practice/b4525d1d84934cf280439aeecc36f4af

image-20220717082415287
思路:

  • 初始长度1
  • 以i为中心,向两边扩展
  • 和中心相等情况(abbbc)
  • 左和右相等情况 (cbabc)
    public int getLongestPalindrome (String A) {
        int length=A.length();
        int left=0;
        int right=0;
        // 初始长度1
        int len=1;
        int maxLen=0;
        for(int i=0;i<length;i++){
            // 以i为中心,向两边扩展
            left=i-1;
            right=i+1;
            // 和中心相等情况(abbbc)
            while(left>=0 && A.charAt(left)==A.charAt(i)){
                len++;
                left--;
            }
            while(right<length && A.charAt(right)==A.charAt(i)){
                right++;
                len++;
            }
            // 左和右相等情况 (cbabc)
            while(left>=0 && right<length && A.charAt(left)==A.charAt(right)){
                len+=2;
                left--;
                right++;
            }
            if(len>maxLen){
                maxLen=len;
            }
            len=1;
        }
        return maxLen;
    }
#题解#
全部评论

相关推荐

03-05 17:03
已编辑
浙江工商大学 C++
陈好好wy:整体看下来有点空空的感觉,可以把每一段项目经历都再完善一下,然后用小标题的形式写个两到三条,目前看有点太简单了,不太能看出具体在这个项目里做了什么工作。还是要尽量把自己做的工作以量化的形式体现在简历上呢。
双非本科求职如何逆袭
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务