LeetCode 5 最長迴文子串
阿新 • • 發佈:2019-01-02
給定一個字串 s,找到 s 中最長的迴文子串。你可以假設 s 的最大長度為1000。
示例 1:
輸入: "babad" 輸出: "bab" 注意: "aba"也是一個有效答案。
示例 2:
輸入: "cbbd" 輸出: "bb"
示例程式碼
#!/usr/bin/python3 import math def longestPalindrome(str): start = 0 end = 0 for i in range(0,len(str)): len1 = expandAroundCenter(str,i,i) len2 = expandAroundCenter(str,i,i+1) maxlen = max(len1,len2) if maxlen > end - start: start = i - int((maxlen - 1)/2) end = i + int(maxlen/2) result = str[start:end+1] return result def expandAroundCenter(str,left,right): while left>=0 and right < len(str) and str[left]==str[right]: left = left - 1 right = right + 1 return right - left - 1 str=input() print(longestPalindrome(str))