第一个只出现一次的字符
在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)
public int FirstNotRepeatingChar(String str) {
LinkedHashMap<Character,Integer> map = new LinkedHashMap<Character,Integer>();
for(int i=0;i<str.length();i++){
if(map.containsKey(str.charAt(i))){
int time = map.get(str.charAt(i));
map.put(str.charAt(i), ++time);
}else {
map.put(str.charAt(i), 1);
}
}
int pos = -1;
int i=0;
for(;i<str.length();i++){
char c = str.charAt(i);
if (map.get(c) == 1) {
return i;
}
}
return pos;
}

本文介绍了一种算法,用于在一个由字母组成的字符串中寻找并返回第一个只出现一次的字符的位置。通过使用 LinkedHashMap 对字符串中的每个字符进行计数,该算法能够有效地找出目标字符,并返回其在字符串中的索引位置。
1038

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



