leetcode 05 最長回文子串

2021-09-26 23:51:21 字數 892 閱讀 7057

leetcode題目鏈結

題目要求:求最長回文子串。

這題 我的第一思路是 從頭對每乙個節點進行遍歷

以當前節點向兩邊擴充套件,

一直記錄 更新當前的最大長度。

但是 奇數,偶數回文的不確定性 的問題沒有解決

奇偶不同情況統一

如果是偶數個,傳入2個相鄰節點的下標

如果是奇數個,傳入的2個引數相同

參考部落格

class solution:

def longestpalindrome(self, s):

longeststrsize=1

longeststr=s[0]

size=len(s)

if size==0:

return ''

for i in range(size):

#如果是奇數

oddstr,oddstrsize=self.currentlongestsize(s,size,i,i)

#如果是偶數

evenstr,evenstrsize=self.currentlongestsize(s,size,i,i+1)

#求當前最大值

maxstr =oddstr if oddstrsize>=evenstrsize else evenstr

if longeststrsize=0 and ji-=1

j+=1

return s[i+1:j],j-i-1 #是s[i+1,j]就是表示 i+1到j-1之間的數

if __name__ == "__main__":

a = solution()

print(a.longestpalindrome("babad"))

leetcode05最長回文子串

給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。看到一道題沒什麼思路,首推 無腦暴力,寫出來再說 public string longestpalindrome string s return s....

LeetCode05 最長回文陣列

給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。示例1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例2 輸入 cbbd 輸出 bb 在完成演算法的程式設計時,設計演算法是至關重要的,雖然來自數理系,但是自己在編寫演算法時還是不能設計出時間...

05最長回文子串

參考文獻 給定乙個字串s,找到s中最長的回文子串 example 輸入 babad return 輸出 bab aba 也是乙個有效答案中心擴充套件法 回文中心的兩側互為映象。因此,回文可以從他的中心展開,並且只有 2n 1 個這樣的中心 乙個元素為中心的情況有 n 個,兩個元素為中心的情況有 n ...