字符串中获取连续出现次数最多的字符
时间: 2023-11-12 16:57:03 浏览: 55
在给定的字符串中,可以使用双指针的方法来获取连续出现次数最多的字符。具体思路是,同时声明两个指针i和j,初始值都是0同时指向下标为0的位置,遍历字符串,i停在0位,j往后走,每走一次和i指针指向的位置做比较,如果相同,什么也不做,如果不同,就说明连续重复出现的字符串结束了,i-j指针之间的字符串就是相同的,j-i就是出现的次数。这时候判断j-i是否大于maxRepeatCount,大于的话就把j-i(也就是重复出现次数的值)赋值给maxRepeatCount,并把str[i]指向的那个字符赋值给maxRepeatChar,最后让i=j,也就是让i追上j,最后j++在开始新一轮的遍历。
代码实现如下:
```
var str = 'aaaabbbbbcccccccccccccdddddd';
var i = 0;
var j = 0;
var maxRepeatCount = 0;
var maxRepeatChar = '';
while (i < str.length - 1) {
if (str[i] !== str[j]) {
if ((j - i) > maxRepeatCount) {
maxRepeatCount = j - i;
maxRepeatChar = str[i];
}
i = j;
}
j++;
}
console.log(`连续出现次数最多的字符是${maxRepeatChar},共出现${maxRepeatCount}次`);
```
输出结果为:连续出现次数最多的字符是c,共出现13次。