Longest Palindromic Substring
LeetCode題目: 5. Longest Palindromic Substring
My solution:
/**
* @param {string} s
* @return {string}
*/
let longestPalindrome = s => {
if(s.length < 2) return s;
let n = s.length, maxLen = 0, maxLenStartIdx = 0;
let pointer = (left, right) => {
while(left >= 0 && right < s.length && s[left] === s[right]){
left--; right++;
}
if((right - left - 1) > maxLen){
maxLen = right - left - 1;
maxLenStartIdx = left + 1;
}
};
for(let i=0; i<n-1 ; i++){
pointer(i,i);//odd
pointer(i,i+1);//even
}
return s.slice(maxLenStartIdx, maxLenStartIdx+maxLen);
}