找到一個字串中, 第一個出現的唯一字母, 並且回傳他的位...
leetcode

First Unique Character in a String

找到一個字串中, 第一個出現的唯一字母, 並且回傳他的位置, 字串限制都是小寫英文字母

解題脈絡

用一個map紀錄每個字母出現次數, 之後在查找一次, 回傳第一個只有出現一次的字母

寫法

1.自己想的解法, 跑的時間比較久呢QQ

func firstUniqChar(s string) int {
	if len(s) == 1 {
		return 0
	}

	data := map[rune]int{}
	res := -1

	for _, str := range s {
		if _, ok := data[str]; ok {
			data[str]++
			continue
		}
		data[str] = 1
	}

	for v, str := range s {
		if data[str] == 1 {
			res = v
			break
		}
	}

	return res
}