You're given a string s. Your task is to find and return the longest substring that reads the same forwards and backwards. Amazon interviewers use this to test your ability to expand around centers for substring problems.
For example, given s = "babad", you'd return "bab" (or "aba", since both are valid). Given s = "cbbd", you'd return "bb".
Before jumping to a solution, think about this: a palindrome mirrors around its center. How could you use that property to check every possible palindrome in the string?
Constraints: s has length between and , and contains only lowercase English letters.