编写函数maxr(char)返回字符串char中最长的连续重复字母,比如:maxr("mmmiijjjjkkkkkkssptr")返回"kkkkkk"(“k”最多出现了6次,把它拿出来怎么做?)
console.log(maxr('mmmiijjjjkkkkkkssptr'));
//采用双指针法
function maxr(char){
var a = 0;
var b =1;
var maxletter = ' ';
var maxlength = 0;
while(a != char.length-1){
if(char.charAt(a) == char.charAt(b)){
//如果char.charAt(a) == cahr.charAt(b)成立,代表a,b对应的字母是重复的,把b往后再挪一位,记录最长的重复长度,字母。
maxletter = char.charAt(a);
maxlength = b - a;
b = b+1
}else{
//如果char.charAt(a) == cahr.charAt(b)不成立,代表a,b对应的字母不一样,如果本次的重复次数大于之前记录长度,记录本次最长的重复长度,字母。a要挪到b的位置,b+1,继续判断
if( b - a > maxlength){
//maxletter = char.char.charAt(a);知道最长的字母单数
maxletter = char.char.substring(a,b);
maxlength = b - a;
}
a = b;
b = b+1//或者b++
}
}
return maxletter;
}
查找最长字符串
最新推荐文章于 2023-08-13 10:35:42 发布