https://leetcode-cn.com/problems/remove-all-adjacent-duplicates-in-string-ii/
思路:用栈模拟即可,加一个计数的提高效率。
class Solution {
public:
string removeDuplicates(string s, int k) {
string ans;
if(k==1)
return ans;
using pr=pair<char,int>;
vector<pr> vec;
for(auto ch:s){
if(vec.empty()||ch!=vec.back().first)
vec.push_back(pr(ch,1));
else if(++vec.back().second==k)
vec.pop_back();
}
while(!vec.empty()&&vec.back().second==k)
vec.pop_back();
for(auto i:vec)
ans+=string(i.second,i.first);
return ans;
}
};