两种实现方法

方法一:

  • 根据下标判断,当前下标字符和下一个字符是否相等
    • 如果相等,则删除这两个字符,下标归零
    • 如果不等,下标+1

c++实现

class Solution {
public:
    string removeDuplicates(string s) {
        // write code here
        int i=0;
         while(i<s.size()-1){
             if(s[i]==s[i+1]){
                 s.erase(i, 2);
                 i = 0;
             }else{
                 i++;
             }
         }
        return s;
    }
};

方法二:

新建一个字符串,然后循环遍历s,将s的字符往res中加,只需要加的时候判断一下和res的末尾字符是否相同即可。

python实现

class Solution:
    def removeDuplicates(self , s: str) -> str:
        # write code here
        res = ""
        for i in s:
            if res == "":
                res += i
            elif i == res[-1]:
                res = res[:-1]
            else:
                res += i
        return res