如何使用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编写一个函数来查找给定字符串中 个不重复的字符的具体实现过程。
