5. Longest Palindromic Substring
var longestPalindrome = function(s) {
if(s.length < 2 || s === s.split('').reverse().join('')){
return s;
}
const expand = (left, right) => {
while(left >= 0 && right <= s.length && s[left] === s[right - 1]){
left -= 1;
right += 1;
}
return s.slice(left + 1, right - 1);
}
let result = '';
for(let i = 0; i < s.length - 1; i++){
const leftString = expand(i, i+1);
const rightString = expand(i, i+2);
if(leftString.length > rightString.length){
result = result.length >= leftString.length ? result : leftString;
} else {
result = result.length >= rightString.length ? result : rightString;
}
}
return result;
};