# Longest Palindromic Substring

Today, we will discover one of the basics algorithms to find the longest palindromic substring.

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

Difficulty: Easy

Practice: Leetcode

Examples:

```1. S = "abad", Result = "aba"
2. S = "codeedoc", Result = "codeedoc"
```

Solution:
To come up with a solution we need to understand what the palindrome is. Basically, this is just a word which reads the same backward as forward (for more details see).

The main idea is to find all palindromes in S with even and odd lengths and keep track which one is the longest. To find odd length palindromes we fix center for every letter in S and expand it in both directions.

To find even length palindrome we fix center between two nearby letters in S and also expand it in both directions.

While expanding, if two opposite letters are equal then we add them to our potential palindrome.

Time complexity: `O(N^2)`
Space complexity: `O(1)`

That’s all for today. You can find the source code here, but I suggest you implement it by yourself.

Thank you for reading my blog and see you in a leaderboard :)