给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。
示例 1:注意: "aba"也是一个有效答案。
输出: "bb"
最长重复子串。
var longestPalindrome = function(s) {var len=s.length;var arr=[];for(var i=0;i<len;i++){arr[i]=[];for(var j=i;j<len;j++){if(i==j)arr[i][j]=true;else if(j==i+1)arr[i][j]=(s[i]==s[j]);elsearr[i][j]=false;}}for(var m=2;m<len;m++){for(var i=0;i<len;i++){if((i+m)>=len)break;if(arr[i+1][i+m-1]&&s[i]==s[i+m])arr[i][i+m]=true;}}//find max 斜着找var mi=0;mj=0;for(var j=len-1;j>=0;j--){mi=0;mj=j;while(mi<len&&mj<len){if(arr[mi][mj]==true)return s.substring(mi,mj+1);mi++;mj++;}}};
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态