首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Java中删除字符串中的相邻重复项

在Java中删除字符串中的相邻重复项可以通过使用StringBuilder来实现。以下是实现该功能的示例代码:

代码语言:txt
复制
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等流行的一些云计算品牌商,故没有提供相关产品和产品介绍链接。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

5分16秒

【剑指Offer】18.2 删除链表中重复的结点

7.5K
9分31秒

14-项目第六、七阶段/06-尚硅谷-书城项目-删除购物车中的商品项

11分25秒

day20_常用类/10-尚硅谷-Java语言高级-JVM中涉及字符串的内存结构

9分51秒

day20_常用类/10-尚硅谷-Java语言高级-JVM中涉及字符串的内存结构

9分51秒

day20_常用类/10-尚硅谷-Java语言高级-JVM中涉及字符串的内存结构

5分31秒

078.slices库相邻相等去重Compact

11分1秒

day11_项目二与面向对象(中)/18-尚硅谷-Java语言基础-项目二:CustomerView删除客户功能的实现

11分1秒

day11_项目二与面向对象(中)/18-尚硅谷-Java语言基础-项目二:CustomerView删除客户功能的实现

11分1秒

day11_项目二与面向对象(中)/18-尚硅谷-Java语言基础-项目二:CustomerView删除客户功能的实现

17分30秒

077.slices库的二分查找BinarySearch

7分5秒

MySQL数据闪回工具reverse_sql

4分36秒

04、mysql系列之查询窗口的使用

领券