如何计算一个字符串中的唯一字符数?

例题:假设有一个字符串s,请问如何计算它中唯一字符的个数?

分析:我们可以使用哈希表来解决这个问题。具体实现时,我们可以定义一个哈希表map,遍历字符串s,将每个字符作为key,出现的次数作为value,然后统计value等于1的key的个数即可。

Java代码实现:

public static int countUniqueChars(String s) {
    if (s == null || s.length() == 0) {
        return 0;
    }
    Map<Character, Integer> map = new HashMap<>();
    for (int i = 0; i < s.length(); i++) {
        char c = s.charAt(i);
        map.put(c, map.getOrDefault(c, 0) + 1);
    }
    int count = 0;
    for (char c : map.keySet()) {
        if (map.get(c) == 1) {
            count++;
        }
    }
    return count;
}

代码分析:

  • 定义一个哈希表map,遍历字符串s,将每个字符作为key,出现的次数作为value。
  • 统计value等于1的key的个数。