# Problem Definition

## Description

Given a string S, find the longest palindromic substring in S.

Substring of string S:

S[i...j] where 0 <= i <= j < len(S)

Palindrome string:

A string which reads the same backwards. More formally, S is palindrome if reverse(S) = S.

Incase of conflict, return the substring which occurs first ( with the least starting index ).

Example :

Input : "aaaabaaa"
Output : "aaabaaa"

## Notes

1. [Geeks for Geeks](http://www.geeksforgeeks.org/longest-palindrome-substring-set-1/)
1. [Geeks for Geeks](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)