leetcode-5.最长回文子串

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhoujiaping123/article/details/82714875
/**
 * @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);
}

猜你喜欢

转载自blog.csdn.net/zhoujiaping123/article/details/82714875