java设计一个方法deleteDuplicates(String str),返回一个新字符串,要求求新字符串删除原字符串中连续且重复的字符,重复的字符只保留一个,例如输入"aabbaaaccc",返回"abac"
时间: 2024-03-11 18:50:08 浏览: 43
以下是 deleteDuplicates 方法的实现:
```java
public static String deleteDuplicates(String str) {
if (str == null || str.length() <= 1) {
return str;
}
StringBuilder sb = new StringBuilder();
char last = str.charAt(0);
sb.append(last);
for (int i = 1; i < str.length(); i++) {
char current = str.charAt(i);
if (current != last) {
sb.append(current);
last = current;
}
}
return sb.toString();
}
```
实现思路:
1. 首先判断输入字符串是否为空或长度小于等于 1,如果是,则直接返回原字符串;
2. 创建一个 StringBuilder 对象 sb,用于保存新字符串;
3. 遍历原字符串,从第二个字符开始,依次比较当前字符和前一个字符是否相同;
4. 如果当前字符和前一个字符不同,则将当前字符添加到 sb 中,并更新 last 变量为当前字符;
5. 如果当前字符和前一个字符相同,则不做任何操作,继续遍历;
6. 遍历结束后,将 sb 转换成字符串并返回。