标签:lse ons func javascrip 思路 mat false bcd [1]
1: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
输入: "babad"
输出: "bab"
注意: "aba" 也是一个有效答案。
思路:枚举出所有的类型的子串,然后判断是否是回文子串然后找出最长的长度/算法所需要时间太长
var s = "abcddcba"
var longestPalindrome = function(s) {
if(s===""||s.length===1){
//一个长度直接返回,空串也直接返回
return s;
}
var len =0,s1 = [0,0];
for(var i=0;i<s.length; i++)
{
for(var j=i+1; j<s.length; j++)
{
//是否是回文串
var str = s.substring(i,j+1)
if(check(str)){
//判断最长
if(j-i+1>len){
len = j-i+1;
s1 = [i,j];
}
}
}
};
return s.substring(s1[0],s1[1]+1);
}
function check (s) {
//判断回文
for(var i=0;i<Math.floor(s.length/2);i++)
{
if(s[i] !== s[s.length-i-1]){
return false;
}
}
return true;
}
console.log(longestPalindrome(s))
标签:lse ons func javascrip 思路 mat false bcd [1]
原文地址:https://www.cnblogs.com/love-life-insist/p/10132180.html