文章目录
-
- 原题题目
- 代码实现(首刷自解)
原题题目
代码实现(首刷自解)
class Solution {
public:string removeDuplicates(string s, int k) {
string ret;ret += s[0];char prechr = s[0];int size = s.size();stack<int> stack;stack.emplace(1);for(int i = 1;i < size;++i){
auto chr = s[i];if(!ret.empty() && chr == ret.back()) ++stack.top();else stack.emplace(1);ret += chr;if(!stack.empty() && stack.top() >= k){
stack.top() -= k;ret.erase(ret.size() - k);if(!stack.top())stack.pop();}}return ret;}
};