描述
在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置,如果没有则返回 -1(需要区分大小写).(从0开始计数)
示例
输入:
"google"
返回值:
4
代码实现
/**
* 第一个只出现一次的字符串
*
* @param str string字符串
* @return int整型
*/
func FirstNotRepeatingChar(str string) int {
if len(str) == 0 {
return -1
}
keyMap := [256]int {0}
for i := range str {
keyMap[str[i]]++
}
for i , v := range str {
if keyMap[v] == 1 {
return i
}
}
return -1
}
思路
先开一个map数组统计字符串每个元素出现的次数,再遍历字符串,如果map中的某个元素值为1,代表出现1次,直接返回
还不快抢沙发