- 爱消除,对对碰的基本思路, 一个栈解决
class Solution {
public:
string removeDuplicates(string S) {
if (S.empty()) {
return string("");
}
stack<char> stk;
for (int i = 0; i < S.length(); i++) {
if (!stk.empty() && S[i] == stk.top()) {
stk.pop();
continue;
}
stk.push(S[i]);
}
string s("");
while (!stk.empty()) {
s += stk.top();
stk.pop();
}
reverse(s.begin(), s.end());
return s;
}
};