JZ34 第一個只出現一次的字符位置

第一個只出現一次的字符位置
題目:在一個字符串(1<=字符串長度<=10000,全部由字母組成)中找到第一個只出現一次的字符,並返回它的位置
思路:使用一個hashmap遍歷一遍,統計每個字符出現的次數,然後再統計一遍,找到第一個出現一次的元素。
 
所有的字符有256個,可以開闢一個256的數組,直接使用字符訪問就可以了,會自動轉換爲整數。A是65。
 
func FirstNotRepeatingChar(str string) int {
    bytes := []byte(str)
    m := make(map[byte]int)
    for _,v := range bytes {
        m[v]++
    }
    for i,v := range bytes {
        if m[v] == 1 {
            return i
        }
    }
    return -1
}

 

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章