【剑指offer】最长回文子串
题目
给你一个字符串 s
,找到 s
中最长的回文子串。
我的答案
/**
* @param {string} s
* @return {string}
*/
var longestPalindrome = function (s) {
var res = '';
for (let i = 0; i < s.length; i++) {
const oddStr = getMaxStr(s, i, i);
const eveStr = getMaxStr(s, i, i + 1);
const tempMax = oddStr.length > eveStr.length ? oddStr : eveStr;
res = res.length > tempMax.length ? res : tempMax;
}
return res;
};
var getMaxStr = function (s, l, r) {
while (l >= 0 && r < s.length && s[l] === s[r]) {
l--;
r++;
}
return s.substring(l + 1, r );
}
中心扩散法,按照回文序列的特点,左右增加时左右两边字符串必须相等,所以一一个或两个为核心进行扩散
标题:【剑指offer】最长回文子串
作者:limanting
地址:https://blog.manxiaozhi.com/articles/2021/10/07/1633537705368.html