力扣-1047.删除字符串中的所有相邻重复元素
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; } };
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2576127.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!