欢迎访问宙启技术站
智能推送

Java函数如何实现字符串的去重操作?

发布时间:2023-07-06 15:40:01

Java函数可以实现字符串的去重操作,以下是一种常见的实现方式:

public static String removeDuplicates(String input) {
    StringBuilder result = new StringBuilder(); // 用于存储去重后的结果
    boolean[] visited = new boolean[256]; // 记录字符是否已经访问过,默认为false
    
    for (int i = 0; i < input.length(); i++) {
        char c = input.charAt(i);
        if (!visited[c]) { // 若字符未被访问过,表示是一个新字符
            visited[c] = true; // 设置对应的字符为已访问过
            result.append(c); // 将字符添加到结果中
        }
    }
    
    return result.toString();
}

该函数通过遍历输入的字符串,并利用布尔数组visited记录每个字符是否已经访问过,然后将未访问过的字符依次添加到结果中。

该方法的时间复杂度为O(n),其中n为输入字符串的长度。每个字符的访问和判断操作的时间复杂度为O(1),所以整体的时间复杂度为O(n)。

以下是一个例子,展示了如何调用该函数并输出结果:

public static void main(String[] args) {
    String input = "abcabcde";
    String result = removeDuplicates(input);
    System.out.println(result); // 输出: abcde
}

该例子中,输入字符串abcabcde经过去重操作后得到结果abcde