如题,编写一个字符串(a~z)过滤函数,对于字形符串中出现的多个相同的字符,将非首次出现的字符过滤掉。
思路:因为输入的字符类型(a~z)数量有限,所以可以用一个布尔类型的数组来记录当前字符的出现情况(已经出现过或者还没有出现过)。具体实现如下:
public class StringFilter { public static String stringFilter(String input) { boolean[] bools = new boolean[26]; for (int i = 0; i < bools.length; i++) { bools[i] = false; } if (input != null && input.length() > 1) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < input.length(); i++) { char c = input.charAt(i); if (!bools[c]) { sb.append(c); bools[c] = true; } } return sb.toString(); } return input; } }
本文介绍了一种用于过滤字符串中重复字符的算法实现。该算法通过使用布尔数组记录字符是否已出现,确保每个字符只保留首次出现的情况。适用于a~z字符集。
3399

被折叠的 条评论
为什么被折叠?



