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。
