题目描述
在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。
示例:
s = “abaccdeff”
返回 “b”
s = “”
返回 " "
解题思路
- 用数组记录每个字符出现的次数
- 寻找只出现过一次的字符返回
算法复杂度
- 时间复杂度 O(N)
- 空间复杂度 O(1)
代码实现
func firstUniqChar(s string) byte {
count := make([]int, 26)
for _, c := range s {
count[c-'a']++
}
for i, c := range s {
if count[c-'a'] == 1 {
return s[i]
}
}
return ' '
}