字符串中的第一个唯一字符

给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。

  • 直接用一个数组,计数
1
2
3
4
5
6
7
8
9
10
11
12
13
func firstUniqChar(s string) int {
nums := [26]int{}
for _, a := range s {
nums[a - 'a']++
}

for i, a := range s {
if nums[a - 'a'] == 1 {
return i
}
}
return -1
}