LeetCode 5. Longest Palindromic Substring

class Solution:
    def longestPalindrome(self, s: str) -> str:
        ans = ""
        # odd
        for i in range(len(s)):
            front = i-1
            end = i + 1
            while front>=0 and end<len(s) and s[front] == s[end]:
                front -= 1
                end += 1
            tmp_ans = s[front+1 : end]
            if len(ans) < len(tmp_ans):
                ans = tmp_ans

        # even
        for i in range(len(s)):
            front = i
            end = i + 1
            while front>=0 and end<len(s) and s[front]==s[end]:
                front -= 1
                end += 1
            tmp_ans = s[front+1 : end]
            if len(ans) < len(tmp_ans):
                ans = tmp_ans
        return ans

左右対称の文字を先頭から見ていくと、文字列の長さが決まっていないので厄介。
そこで左右対称な文字列の真ん中の文字を基準にして、両側を確認していく