# Problem Definition

## Description

A palindrome is a sequence of characters that reads the same backwards and forwards. Given a string, s, find the longest palindromic substring in s.

Example:

```plaintext
Input: "banana"
Output: "anana"

Input: "million"
Output: "illi"
```

```python
class Solution: 
    def longestPalindrome(self, s):
      # Fill this in.

# Test program
s = "tracecars"
print(str(Solution().longestPalindrome(s)))
# racecar
```

## Discussion

### Time Complexity

### Space Complexity

## Notes

## References

1. [Geeks for Geeks - Longest Palindromic Substring | Set 1](http://www.geeksforgeeks.org/longest-palindrome-substring-set-1/)
1. [Geeks for Geeks - Longest Palindromic Substring | Set 2](http://www.geeksforgeeks.org/longest-palindromic-substring-set-2/)
1. [YT Video - Vivekanand Khyade - Longest Palindromic Subsequence and it's Length (ALGORITHM -DYNAMIC PROGRAMMING)](https://www.youtube.com/watch?v=yZWmS6CXbQc)
1. [YT Video - Tushar Roy - Longest Palindromic Substring Manacher's Algorithm](https://www.youtube.com/watch?v=V-sEwsca1ak)
1. [YT Video - Tushar Roy - Longest Palindromic Subsequence](https://www.youtube.com/watch?v=_nCsPn7_OgI)
