描述

在一个字符串(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次,直接返回


本文由 一切随风 创作,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论