自学内容网 自学内容网

在做题中学习(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;
    }
};


原文地址:https://blog.csdn.net/yiren_liusong/article/details/143383365

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!