- ret用来存储我们的最后结果;
- 因为需要遍历,所以我们把这个参数string转换为字符数组,这样才可以使用范围for进行遍历数组;
- for循环里面判断这个ret里面的元素个数(不可以是空的),因为我们后面有-1的操作,空的话不用比较,直接放进去就可以了;
- 不是空的话,就让这个新的元素和我们的这个字符串里面的最后一个元素比较,相同就弹出,不同就append进去;
- 最后把这个ret转换为数组就可以了;
class Solution {
public String removeDuplicates(String _s) {
StringBuffer ret = new StringBuffer();
char[] s=_s.toCharArray();
for(char ch:s){
if(ret.length()>0&&ch==ret.charAt(ret.length()-1)){
ret.deleteCharAt(ret.length()-1);
}
else{
ret.append(ch);
}
}
return ret.toString();
}
}