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

如何使用Java编写一个函数来查找给定字符串中 个不重复的字符?

发布时间:2023-06-13 15:18:27

题目要求我们使用Java编写一个函数,查找给定字符串中 个不重复的字符,我们可以考虑以下步骤:

1. 创建一个函数,命名为findFirstNonRepeatingChar,该函数需要传入一个String类型的参数。

2. 在函数内部创建一个HashMap,该HashMap的key为char类型,value为int类型,用于记录每个字符出现的次数。

3. 遍历字符串中的每个字符,将其放入HashMap中,并且记录每个字符出现的次数。

4. 再次遍历字符串中的每个字符,查找其在HashMap中对应的value值是否等于1,如果等于1则说明该字符是 个不重复的字符,返回该字符。

5. 如果遍历完整个字符串都没有找到 个不重复的字符,则说明全部字符都是重复的,返回空值。

下面是完整代码实现:

public static Character findFirstNonRepeatingChar(String str) {
    HashMap<Character, Integer> charCount = new HashMap<Character, Integer>();
    for (int i = 0; i < str.length(); i++) {
        char c = str.charAt(i);
        if (charCount.containsKey(c)) {
            charCount.put(c, charCount.get(c) + 1);
        } else {
            charCount.put(c, 1);
        }
    }
    for (int i = 0; i < str.length(); i++) {
        char c = str.charAt(i);
        if (charCount.get(c) == 1) {
            return c;
        }
    }
    return null;
}

使用该函数查找给定字符串中 个不重复的字符的示例如下:

String str = "leetcode";
char result = findFirstNonRepeatingChar(str);
System.out.println("      个不重复的字符是:" + result);

输出结果为:

      个不重复的字符是:l

以上就是使用Java编写一个函数来查找给定字符串中 个不重复的字符的具体实现过程。