Advertisement
bobbye

Longest Palindromic Substring

Apr 11th, 2024
670
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.72 KB | None | 0 0
  1. class Solution:
  2.     def longestPalindrome(self, s: str) -> str:
  3.         if not s:
  4.             return ""
  5.  
  6.         def expand_around_center(s: str, left: int, right: int):
  7.             while left >= 0 and right < len(s) and s[left] == s[right]:
  8.                 left -= 1
  9.                 right += 1
  10.             return right - left - 1
  11.  
  12.  
  13.         start = 0
  14.         end = 0
  15.  
  16.         for i in range(len(s)):
  17.             odd = expand_around_center(s, i, i)
  18.             even = expand_around_center(s, i, i + 1)
  19.             max_len = max(odd, even)
  20.            
  21.             if max_len > end - start:
  22.                 start = i - (max_len - 1) // 2
  23.                 end = i + max_len // 2
  24.        
  25.         return s[start:end+1]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement