Skip to content

Instantly share code, notes, and snippets.

@zkmoty
Created February 6, 2025 13:45
Show Gist options
  • Save zkmoty/ff7bf0f7e22f6123350f6803d8350b49 to your computer and use it in GitHub Desktop.
Save zkmoty/ff7bf0f7e22f6123350f6803d8350b49 to your computer and use it in GitHub Desktop.
class Solution:
def longestPalindrome(self, s: str) -> str:
start_longest = end_longest = 0
for i in range(len(s)):
for k in range(2):
curr_start_longest, curr_end_longest = i, i + k
while (curr_start_longest >= 0 and
curr_end_longest < len(s)
and s[curr_start_longest] == s[curr_end_longest]):
curr_start_longest -= 1
curr_end_longest += 1
curr_start_longest += 1
if curr_end_longest - curr_start_longest > end_longest - start_longest:
start_longest, end_longest = curr_start_longest, curr_end_longest
return s[start_longest: end_longest]
sol = Solution()
assert sol.longestPalindrome("r") == "r"
assert sol.longestPalindrome("rars") == "rar"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment