文字列を指定して、最長の回文部分文字列を出力します。回文文字列とは、「aba」「ccbbcc」のように、正の読みと負の読みが同じ文字列を指します。

string='acagdksahbciuaccbbccfdyfavavaaywwusbuyxyxyaodcabgddy'

ans=0#最长子串的长度
s1=''

def prints1():
    global s1,ans
    if len(s1) > ans:
        ans = len(s1)
        print(s1)

for i in range(len(string)):
    for s in string[i:]:
        len_p=len(s1)/2
        le=len(s1)
        if len(s1)%2:
            if s1[:int(len_p)]==s1[int(len_p)+1:][::-1] and le>1:
                prints1()
        else:
            if s1[:int(len_p)]==s1[int(len_p):][::-1] and le>1:
                prints1()
        s1 += s
    s1=''

おすすめ

転載: blog.csdn.net/qq_27900321/article/details/130240241