统计同质子字符串的数目

给你一个字符串 s ,返回 s 中 同质子字符串 的数目。由于答案可能很大,只需返回对 109 + 7 取余 后的结果。
同质字符串 的定义为:如果一个字符串中的所有字符都相同,那么该字符串就是同质字符串。
子字符串 是字符串中的一个连续字符序列。

  • 输入:s = “abbcccaa”
  • 输出:13
    解释:同质子字符串如下所列:
    “a” 出现 3 次。
    “aa” 出现 1 次。
    “b” 出现 2 次。
    “bb” 出现 1 次。
    “c” 出现 3 次。
    “cc” 出现 2 次。
    “ccc” 出现 1 次。
    3 + 1 + 2 + 1 + 3 + 2 + 1 = 13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var countHomogenous = function(s) {
let l=s.length;
let res=0;
let counter=1;
let tmp=s[0];

for(let i=1;i<l+1;i++){
if(s[i]==tmp){
counter++;
}
else{
tmp=s[i];
res=res+(1+counter)*counter/2;
counter=1;
}
}
return res%(1000000007)
};