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