5 最長回文子串

2021-09-26 04:03:42 字數 626 閱讀 8991

問題描述:找出字串中最長的回文子串

輸入:字串s

輸出:輸出最長的回文子串

思考:1、最直接的就是以乙個字元或者兩個字元為中心,兩邊擴散,直到遇到不同的字串為止。以乙個字元為中心,那麼就是aba型,兩個字元為中心就是abba型。

class solution:

def longestpalindrome(self, s:str)->str:

n=len(s)

count=0

res=''

for i in range(n):

# aba

j,k=i,i

while j>=0 and kcount:

count=k-j+1

res=s[j:k+1]

j-=1

k+=1

else:

break

# abba

j,k=i,i+1

while j>=0 and kcount:

count=k-j+1

res=s[j:k+1]

j-=1

k+=1

else:

break

return res

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...

5 最長回文子串

給定乙個字串s,找到s中最長的回文子串。你可以假設s的最大長度為 1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 這道題比較船艇的應該是dp求法,但鄙人的dp特別特別的差勁。所以我選用中心擴充套件演算法,掃一遍所有節點,把被掃...