1047. 删除字符串中的所有相邻重复项给出由小写字母组成的字符串s重复项删除操作会选择两个相邻且相同的字母并删除它们。在s上反复执行重复项删除操作直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。示例输入abbaca输出ca解释例如在 abbaca 中我们可以删除 bb 由于两字母相邻且相同这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 aaca其中又只有 aa 可以执行重复项删除操作所以最后的字符串为 ca。本题使用栈解决最简单将 string 的每个字符取出存入栈中如果相邻即栈中元素需要保证栈中有元素不能操作空栈与当前元素相同了即这个元素不存入栈且将栈中元素删除遍历下一个元素。class Solution { public: string removeDuplicates(string s) { string st; for(char i:s){ if(!st.empty()st.back()i){ st.pop_back(); }else{ st.push_back(i); } } return st; } };