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

题目

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

示例

s = “leetcode”
返回 0

s = “loveleetcode”
返回 2

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/first-unique-character-in-a-string
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

想法

用 counter做~

实现

方法1:python

class Solution:
    def firstUniqChar(self, s: str) -> int:
        n=len(s)
        ss=list(s)
        flag='flag'
        counter = collections.Counter()
        for i in ss:
            counter[i]+=1
        for i,v in counter.items():
            if v==1:
                flag=i
                break
        for i in range(n):
            if flag==ss[i]:
                return i
        if flag=='flag':
            return -1

力扣 387. 字符串中的第一个唯一字符方法2:python。1改进

class Solution:
    def firstUniqChar(self, s: str) -> int:
        counter = collections.Counter(s)
        for i,v in enumerate(s):
            if counter[v]==1:
                return i
        return -1

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

上一篇:Java主线程等待子线程结束


下一篇:Hive任务解析流程