5 最長回文子串 python

2021-10-04 23:45:34 字數 460 閱讀 9239

題目:給定乙個字串s,找到s中最長的回文子串。你可以假設s的最大長度為 1000。

start,maxlen = 0,0

def longestpalinrome(s):

if len(s)<2:

return s

for i in range(len(s)):

extendpal(s,i,i)

extendpal(s,i,i+1)

return s[start:start+maxlen]

def extendpal(s,left,right):

global maxlen,start

while left>=0 and right注:

主要思想是中心擴充套件法。回文子串有可能是奇數個,有可能是偶數個,所以中心擴充套件要分乙個字元和二個字元兩種情況進行擴充套件。

5 最長回文子串(Python)

給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 方法一 暴力法 class solution 暴力匹配 超時 deflongestpalindrome...

5 最長回文子串

給定乙個字串s,找到s中最長的回文子串。你可以假設s長度最長為1000。示例 輸入 babad 輸出 bab 注意 aba 也是有效答案示例 輸入 cbbd 輸出 bb 方法1 用馬拉車演算法 字串動態規劃 來求最長回文子串時間複雜度可以達到o n 但是部落格裡面有個小失誤 這個id應該不是最大回文...

5 最長回文子串

給定乙個字串s,找到s中最長的回文子串。你可以假設s的最大長度為1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb class solution def longestpalindrome self,s k len s olist...