标签:字符 right js --- 遍历 字符串 left 回文
/* eg:babad --->aba (情况一) cbbd --->bb cabbad---->abba(情况2) abababab
思路:字符串最小长度为3 ab
情况一:遍历字符串的每个字符,把每个字符当中心点向左右扩散,判断两边字符是否相等 (有中心)
情况二: 遍历查找连续相同的字符串,左右扩散 (没有中心)
*/
var longeset =function (s){
if(s.length<2){
return s;
}
let start =0;
let maxLength=1;
function expand(left,right){
while(left>=0 && right<s.length && s[left] === s[right]){
if(right -left + 1 >maxLength){
maxLength =right -left + 1
start=left;
}
left--;
right++
}
}
for(let i=0;i<s.length;i++){
expand(i-1,i+1)
expand(i,i+1)
}
return s.substring(start,start+maxLength)
}
标签:字符,right,js,---,遍历,字符串,left,回文 来源: https://www.cnblogs.com/lht1132950411/p/16384120.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。