题目描述
对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度。
给定字符串A以及它的长度n,请返回最长回文子串的长度。
测试样例:
“abc1234321ab”,12
返回:7
# -*- coding:utf-8 -*-
class Palindrome:
def getstr(self,A,n): #定义getstr方法求子串
re = []
for i in range(n):
for j in range(i + 1,n + 1):
re.append(A[i:j])
return re
def choose(self,A,n): #定义choose方法选择回文子串,返回长度
tmp = []
for k in self.getstr(A,n):
if k == k[::-1]:
tmp.append(len(k))
return tmp
def getLongestPalindrome(self, A, n):
# write code here
res = self.choose(A, n)
return max(res)