在做题中学习(73):删除字符串中所有相邻重复项
解法:用栈来模拟
思路:不用真的定义一个栈,用字符串string来模拟栈的行为
入栈:push_back(s[i]) 出栈:s[i] == s.back()的时候,并且s.size() > 0,循环结束得到结果
注意:如果真的用stack<char>来模拟的话,最后赋值给string后,需要reverse逆序。
class Solution
{
public:string removeDuplicates(string s) {string tmp;for(auto e : s){if(tmp.size() && tmp.back() == e)tmp.pop_back();else tmp.push_back(e);}return tmp;}
};