Back to all solutions
#5 - Longest Palindromic Substring
Problem Description
Given a string `s`, return the longest palindromic substring in `s`.
Solution
/**
* @param {string} s
* @return {string}
*/
var longestPalindrome = function(s) {
let result = '';
for (let i = 0; i < s.length; i++) {
const palindrome1 = getExtendedPalindrome(s, i, i);
const palindrome2 = getExtendedPalindrome(s, i, i + 1);
const longerPalindrome = palindrome1.length > palindrome2.length
? palindrome1
: palindrome2;
if (longerPalindrome.length > result.length) {
result = longerPalindrome;
}
}
return result;
};
function getExtendedPalindrome(s, start, end) {
while (start >= 0 && end < s.length && s[start] === s[end]) {
start--;
end++;
}
return s.slice(start + 1, end);
}