1. 程式人生 > >leetcode-5.最長迴文子串

leetcode-5.最長迴文子串

/**
 * @param {string} s
 * @return {string}
 */
var longestPalindrome = function(s) {
    let chs = [...s];
    let res = [];
    for(let i=0;i<chs.length;i++){
        let s1 = f1(chs,i);
        let s2 = f2(chs,i);
        res = res.length>=s1.length?res:s1;
        res = res.length>=s2.length?res:s2;
    }
    return
res.join(''); }; /** 以i為中樞的最大回文串 */ function f1(chs,i){ let begin = i; let end = i; while(begin>=0&&end<chs.length){ if(chs[begin] != chs[end]){ break; } begin--; end++; } return chs.slice(begin+1,end); } /** 以i和i+1為中樞的最大回文串 */ function
f2(chs,i){ let begin = i; let end = i+1; if(end>=chs.length){ return chs.slice(begin,end); } while(begin>=0&&end<chs.length){ if(chs[begin] != chs[end]){ break; } begin--; end++; } return chs.slice(begin
+1,end); }