LeetCode 每日一题:2038. 如果相邻两个颜色均相同则删除当前颜色

2038. 如果相邻两个颜色均相同则删除当前颜色

本题突破口在于不能删除两端的字母,意思就是A和B排列会在院序列中稳定,删除不会形成新的可删除的序列。比较删除次数即可。

class Solution {
public:
    bool winnerOfGame(string colors) {
        int n = colors.size();
        int cnt = 0;
        for (int i = 1; i < n - 1; i ++ ) {
            if (colors[i] == 'A' && colors[i - 1] == 'A' && colors[i + 1] == 'A') cnt ++ ;
            else if (colors[i] == 'B' && colors[i - 1] == 'B' && colors[i + 1] == 'B') cnt -- ;
        }
        return cnt > 0;
    }
};

你可能感兴趣的:(每日一题,leetcode,算法,c++)