0
点赞
收藏
分享

微信扫一扫

Java删除字符串相邻的字符

ZGtheGreat 2023-07-23 阅读 85

Java删除字符串相邻的字符

在Java中,我们经常需要对字符串进行各种操作,其中之一是删除字符串中相邻的字符。删除相邻字符是指如果字符串中有两个或多个相邻的字符是相同的,我们需要将它们删除,只保留一个字符。本文将介绍如何使用Java删除字符串中的相邻字符,并提供相应的代码示例。

问题描述

假设我们有一个字符串,例如:"Hello World!!"。我们希望删除其中相邻的字符,使其变成:"Helo World!"。我们需要编写一个函数来实现这个功能。

解决方案

我们可以使用Java的字符串处理功能来解决这个问题。下面是一种简单的解决方案:

public class StringAdjacentRemover {
    public static String removeAdjacentCharacters(String str) {
        StringBuilder sb = new StringBuilder();
        int n = str.length();
        if (n < 2) {
            return str;
        }
        sb.append(str.charAt(0));
        for (int i = 1; i < n; i++) {
            if (str.charAt(i) != str.charAt(i - 1)) {
                sb.append(str.charAt(i));
            }
        }
        return sb.toString();
    }
}

在上面的代码中,我们定义了一个名为removeAdjacentCharacters的静态函数,它接受一个字符串作为输入,并返回删除相邻字符后的字符串。首先,我们创建了一个StringBuilder对象sb,用于存储结果字符串。然后,我们遍历输入字符串,并逐个检查当前字符与前一个字符是否相同。如果不相同,我们将当前字符添加到sb中,以便保留一个字符。最后,我们将sb转换为字符串并返回。

测试

为了验证我们的代码是否正确,我们可以编写一些测试案例。下面是几个示例:

public class StringAdjacentRemoverTest {
    public static void main(String[] args) {
        String str1 = "Hello World!!";
        String result1 = StringAdjacentRemover.removeAdjacentCharacters(str1);
        System.out.println(result1);  // Output: Helo World!

        String str2 = "abbbccdd";
        String result2 = StringAdjacentRemover.removeAdjacentCharacters(str2);
        System.out.println(result2);  // Output: abcd

        String str3 = "aabbcc";
        String result3 = StringAdjacentRemover.removeAdjacentCharacters(str3);
        System.out.println(result3);  // Output: abc
    }
}

在上面的测试中,我们分别测试了字符串"Hello World!!""abbbccdd""aabbcc"。我们期望的输出分别是"Helo World!""abcd""abc"。运行测试代码,如果输出与期望的结果相符,则说明我们的代码是正确的。

总结

本文介绍了如何使用Java删除字符串中相邻的字符。我们通过遍历输入字符串,并逐个检查当前字符与前一个字符是否相同,以此来删除相邻字符。我们还提供了相应的代码示例和测试案例,以帮助读者理解和验证我们的解决方案。

希望本文对你在Java中删除字符串相邻字符问题的解决有所帮助!

举报

相关推荐

0 条评论