题目:
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。
示例 1:
输入: "babad"
输出: "bab"
注意: "aba"也是一个有效答案。
示例 2:
输入: "cbbd"
输出: "bb"
解题思路:待更新
答案:
/**
* @param {string} s = "123456"
* @return {string}
*/
var s = "civilwartestingwhetherthatnaptionoranynartionsoconceivedandsodedicatedcanlongendureWeareqmetonagreatbattlefiemldoftzhatwarWehavecometodedicpateaportionofthatfieldasafinalrestingplaceforthosewhoheregavetheirlivesthatthatnationmightliveItisaltogetherfangandproperthatweshoulddothisButinalargersensewecannotdedicatewecannotconsecratewecannothallowthisgroundThebravelmenlivinganddeadwhostruggledherehaveconsecrateditfaraboveourpoorponwertoaddordetractTgheworldadswfilllittlenotlenorlongrememberwhatwesayherebutitcanneverforgetwhattheydidhereItisforusthelivingrathertobededicatedheretotheulnfinishedworkwhichtheywhofoughtherehavethusfarsonoblyadvancedItisratherforustobeherededicatedtothegreattdafskremainingbeforeusthatfromthesehonoreddeadwetakeincreaseddevotiontothatcauseforwhichtheygavethelastpfullmeasureofdevotionthatweherehighlyresolvethatthesedeadshallnothavediedinvainthatthisnationunsderGodshallhaveanewbirthoffreedomandthatgovernmentofthepeoplebythepeopleforthepeopleshallnotperishfromtheearth";
var longestPalindrome = function (s) {
var newS = "#", strLong = "", str;
for (let m in s) {
newS += s[m] + "#";
}
for (var i = 1; i < newS.length; i++) {
str = newS[i];
for (var j = 1; j < newS.length; j++) {
if(newS[i - j] == undefined || newS[i + j] == undefined) {
break;
}
if (newS[i - j] == newS[i + j]) {
str = newS[i - j] + str + newS[i - j];
} else {
break;
}
}
if (str.length > strLong.length) {
strLong = str;
}
}
return strLong.replace(/#/g,'');
};