leetcode387字符串中的第一个唯一字符

387. 字符串中的第一个唯一字符

给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。

示例:
s = "leetcode"
返回 0
s = "loveleetcode"
返回 2

class Solution:
    def firstUniqChar(self, s: str) -> int:
        '''
        dict计数, 历变s记录在字典中. 
        这样出现在前面的计数为1的即为首次不重复的字符
        '''
        ch_count = collections.defaultdict(int)

        for ch in s:
            ch_count[ch] += 1

        for idx, ch in enumerate(s):
            if ch_count[ch] == 1:
                return idx
        
        return -1

你可能感兴趣的:(leetcode387字符串中的第一个唯一字符)