input: Write a python function to find the longest palindromic substring in a given string.
  assert get_longest_palindrome_substrings('abbacca') == 'acca'
  assert get_longest_palindrome_substrings('babad') == 'bab' or get_longest_palindrome_substrings('babad') == 'aba'
  assert get_longest_palindrome_substrings('cbbd') == 'bb'
  assert get_longest_palindrome_substrings('a') == 'a'
  assert get_longest_palindrome_substrings('ac') == 'a' or get_longest_palindrome_substrings('ac') == 'c'
output: def get_longest_palindrome_substrings(s: str) -> str:
      def expand_around_center(left: int, right: int) -> str:
          while left >= 0 and right < len(s) and s[left] == s[right]:
              left -= 1
              right += 1
          return s[left + 1:right]
  
      if len(s) <= 1:
          return s
  
      longest = ""
      for i in range(len(s)):
          # Odd length palindromes
          odd_palindrome = expand_around_center(i, i)
          if len(odd_palindrome) > len(longest):
              longest = odd_palindrome
          
          # Even length palindromes
          even_palindrome = expand_around_center(i, i + 1)
          if len(even_palindrome) > len(longest):
              longest = even_palindrome
      
      return longest