Note:官方题解挺好嘞,字也少
就是如果有三个连续的,就是能删一个
反正他们删完,不能删除两边的,就是不会说一个删完以后,另一个出现了能多删除的次数了
所以直接遍历一遍计数就行了
代码如下:
class Solution {
public:
bool winnerOfGame(string colors) {
int ans[2] = {0, 0};
char F = 'C';
int cnt = 0;
for(auto c : colors){
if(c != F){
F = c;
cnt = 1;
}else if(++ cnt >= 3){
++ ans[c - 'A'];
}
}
return ans[0] > ans[1];
}
};