查詢字串中最長的迴文字串
阿新 • • 發佈:2018-12-17
# 採用的是從裡向外擴充套件的方法來計算 def longestPalindrome1(s): res = "" for i in range(len(s)): # 如果長度為奇數的話 tmp = helper(s, i, i) print(tmp) if len(tmp) > len(res): res = tmp # 長度為偶數的話 tmp = helper(s, i, i + 1) print(tmp) if len(tmp) > len(res): res = tmp return res # 從裡面向外面擴充套件其實也就類似於動態規劃 def helper(s, left, right): while left >= 0 and right < len(s) - 1 and s[left] == s[right]: left -= 1 right += 1 return s[left + 1: right] str = 'abccbd' res = longestPalindrome1(str) print(res)