给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
示例:
s = “leetcode”
返回 0
s = “loveleetcode”
返回 2
提示:你可以假定该字符串只包含小写字母。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/first-unique-character-in-a-string
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
public class No387 {
private static final int ALPHABET_SIZE = 26;
private static final int SINGLE_FIND_COUNT = 1;
private static final int NOT_FIND_NUM = -1;
public int firstUniqChar(String s) {
int[] alphabetCount = new int[ALPHABET_SIZE];
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
++alphabetCount[c - 'a'];
}
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (alphabetCount[c - 'a'] == SINGLE_FIND_COUNT) {
return i;
}
}
return NOT_FIND_NUM;
}
}