public static int helper(char[] chars){
//统计遍历时遇到a,此时身后b的个数
int cnt = 0;
//统计如果数组反向遍历到这里此时的次数
int sum = 0;
for(int i = chars.length-1; i>=0; i--){
if(chars[i] == 'b'){
cnt++;
}
else{
//注意这里是先统计和
//之后再cnt翻倍
sum += cnt;
cnt = cnt*2;
}
}
return sum;
}
这里就不取模了,代码仅供参考。