LeetCode5-最长回文子串原理及Python实现
生活随笔
收集整理的這篇文章主要介紹了
LeetCode5-最长回文子串原理及Python实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
LeetCode5(medium)-最長回文子串
題目
給定一個字符串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。
思路
中心擴展法
遍歷字符串,依次把每個字符作為中心。
遍歷結束,輸出最長的回文子串即可。
class Solution:#1180ms 70.74%def getLength(self,s,left,right):while left>=0 and right<len(s) and s[left]==s[right]:left-=1right+=1left+=1right-=1return left,rightdef longestPalindrome(self, s: str) -> str:start,end=0,0for center in range(len(s)):left,right=self.getLength(s,center,center)if right-left>end-start:start,end=left,rightleft, right = self.getLength(s, center, center+1)if right - left > end - start:start, end = left, rightreturn s[start:end+1] 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的LeetCode5-最长回文子串原理及Python实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode4-寻找两个正序数组的中
- 下一篇: LeetCode6-Z字形变换