leetcode1047——Remove All Adjacent Duplicates In String

题目大意:一次遍历,删除字符串中所有的相邻重复字符,比如abbaca->ca

分析:用字符串实现栈。遍历字符串,如果当前字符和栈顶相同就弹栈,否则入栈。

代码:

class Solution {
public:
    string removeDuplicates(string S) {
        string ans;
        for (int i = 0;i < S.size();i++) {
            if (ans.size() && ans.back() == S[i]) ans.pop_back();
            else ans += S[i];
        }
        return ans;
    }
};

 

你可能感兴趣的:(数据结构-栈)