Q2
string removeDuplicates(string s, int k) {
int i, j;
stack<int> st;
st.push(0);
for (i = 1, j = 1; j < s.size(); i++, j++) {
s[i] = s[j];
if (i == 0 || s[i] != s[i-1]) st.push(i);
else if (i - st.top() + 1 == k) {
i = st.top() - 1;
st.pop();
}
}
return s.substr(0, i);
}