题目描述
在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置。如果字符串为空,返回-1
思路:
首先用数组,遍历过程中对应字符相同的地方会增加。
然后第二次仍按照顺序去取,等于1的就返回它的下标。
public class Solution {
public int FirstNotRepeatingChar(String str) {
if(str.length()==0)return -1;
int array [] = new int[256];
for(int i = 0;i<str.length();i++){
array[str.charAt(i)]++;
}
for(int i = 0;i<array.length;i++){
if(array[str.charAt(i)]==1)return i;
}
return 0;
}
}