1、链接:第一个只出现一次的字符
来源:牛客网
在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
2、以类似’a’的字母作为计数数组的下表,计数完成后,再进行遍历,第一个计数为1的下表即是所求。
3、代码:
public int FirstNotRepeatingChar(String str) {
if(str == null || str == "" || str.isEmpty())
return -1;
char[] ss = str.toCharArray();
int[] count = new int[256];//记录字母出现的数目
int i;
for(i = 'a'; i <= 'z'; i++)
count[i] = 0;
for(i = 'A'; i <= 'A'; i++)
count[i] = 0;
for(i = 0; i < ss.length; i++){
count[ss[i]]++;
}
for(i = 0; i < ss.length; i++){
if(count[ss[i]] == 1){
break;
}
}
return i;
}