设计一个方法deleteDuplicates(String str),返回一个新字符串,要求求新字符串删除原字符串中连续且重复的字符,重复的字符只保留一个,例如输入"aabbaaaccc",返回"abac" 将下面的完整代码写在答题框内(注释可以省略)
时间: 2024-03-08 15:46:46 浏览: 22
好的,以下是完整的 Java 代码实现:
```java
public class Main {
public static void main(String[] args) {
String str = "aabbaaaccc";
String newStr = deleteDuplicates(str);
System.out.println(newStr); // 输出 "abac"
}
public static String deleteDuplicates(String str) {
if (str == null || str.length() <= 1) {
return str;
}
StringBuilder sb = new StringBuilder();
char prevChar = str.charAt(0);
sb.append(prevChar);
for (int i = 1; i < str.length(); i++) {
char currChar = str.charAt(i);
if (currChar != prevChar) {
sb.append(currChar);
prevChar = currChar;
}
}
return sb.toString();
}
}
```
该方法首先判断传入的字符串是否为空或长度小于等于 1,如果是,则直接返回原字符串。
然后使用 StringBuilder 存储新字符串,遍历原字符串,将第一个字符加入新字符串中。之后,依次比较当前字符与上一个字符是否相同,如果不同,则将当前字符加入新字符串中并更新上一个字符为当前字符。
最后,返回 StringBuilder 转换成的字符串即为删除连续重复字符后的新字符串。
希望能对您有所帮助!