The longest palindromic substring or longest symmetric factor problem is the problem of finding a maximum-length contiguous substring of a given string that is also a palindrome.
For example, the longest palindromic substring of "bananas" is "anana".
This algorithm removes all duplicate substring(s), and may return multiple substrings if they're all of equal length.
Runs in O(n) time. It uses the Manacher's Algorithm.