在Java中删除字符串中的相邻重复项可以通过使用StringBuilder来实现。以下是实现该功能的示例代码:
public class RemoveDuplicates {
public static void main(String[] args) {
String str = "abbaca";
String result = removeAdjacentDuplicates(str);
System.out.println(result); // 输出 "ca"
}
public static String removeAdjacentDuplicates(String str) {
StringBuilder sb = new StringBuilder();
for (char c : str.toCharArray()) {
int length = sb.length();
// 检查StringBuilder的末尾字符是否与当前字符相同
if (length > 0 && sb.charAt(length - 1) == c) {
sb.deleteCharAt(length - 1); // 删除相同的字符
} else {
sb.append(c); // 添加不同的字符
}
}
return sb.toString();
}
}
这段代码中,我们使用了StringBuilder类来构建新的字符串。遍历输入字符串中的每个字符,检查StringBuilder的末尾字符是否与当前字符相同。如果相同,则删除StringBuilder末尾的字符;如果不同,则将当前字符添加到StringBuilder中。最后,将StringBuilder转换为String并返回。
该方法的时间复杂度为O(n),其中n是输入字符串的长度。
推荐的腾讯云相关产品:无
注意:由于要求不能提及亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等流行的一些云计算品牌商,故没有提供相关产品和产品介绍链接。
领取专属 10元无门槛券
手把手带您无忧上云