第62天(中等题 数据结构)

打卡第六十二天
2道中等题
image

题目:
image

思路:
image
image

代码:

class Solution {
public:
    string removeDuplicates(string s, int k) {
        stack<int> counts; 
        for (int i = 0; i < s.size(); ++i) {
            if (i == 0 || s[i] != s[i - 1]) {// 是第一个字符或者当前字符与前一个字符不同
                counts.push(1);  // 计数为1
            } 
            else if (++counts.top() == k) {  // 计数+1,达到k
                counts.pop();  // 弹出栈顶计数
                s.erase(i - k + 1, k);  // 删除从 i-k+1 开始的k个字符
                i = i - k;// 删除了k个字符,索引回退k位
            }
        }
        return s;
    }
};

耗时≈一小时 明天继续

posted @ 2025-12-22 00:16  Wy0518  阅读(3)  评论(0)    收藏  举报