第一个只出现一次的字符
在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
如果没有则返回 -1(需要区分大小写).(从0开始计数)
示例1
输入
"google"
返回值
4
思路:
先用一个count把字符串中字符出现的次数存储起来,然后找到第一个只出现一次的字符然后返回他的下标
public class Solution {
public int FirstNotRepeatingChar(String str) {
if(str == null || str.length() == 0){
return -1;
}
int count [] = new int [256];//用count数组存字符串中字符的出现次数
//把字符串中字符出现的次数存进count
for(int i =0;i <str.length();i++){
count[str.charAt(i)]++;
}
//把字符串中出现一次的子串的下标返回
for(int i = 0;i <str.length();i++){
if(count[str.charAt(i)]==1){
return i;
}
}
return -1;
}
}