两种实现方法
方法一:
- 根据下标判断,当前下标字符和下一个字符是否相等
- 如果相等,则删除这两个字符,下标归零
- 如果不等,下标+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