描述

给定一个仅包含小写字母的字符串,求它的最长回文子串的长度。
所谓回文串,指左右对称的字符串。
所谓子串,指一个字符串删掉其部分前缀和后缀(也可以不删)的字符串
数据范围:字符串长度1\le s\le 350\1s350 
进阶:时间复杂度:O(n)\O(n) ,空间复杂度:O(n)\O(n) 

输入描述:

输入一个仅包含小写字母的字符串

输出描述:

返回最长回文子串的长度

示例1

输入:
cdabbacc
复制
输出:
4
复制
说明:
abba为最长的回文子串
while True:
    try:
        s1=input()
        length=0
        for i in range(0,len(s1)-1):
            for j in range(i+1,len(s1)):
                if s1[i:j]+s1[i:j][::-1] in s1 and len(s1[i:j])*2>length:
                    length=len(s1[i:j])*2
                if s1[i:j]+s1[i:j-1][::-1] in s1  and ((len(s1[i:j])-1)*2+1)>length:
                    length=(len(s1[i:j])-1)*2+1
        print(length)
    except:
        break