First Unique Character in a String
Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.
Examples:
s = "leetcode"
return 0.
s = "loveleetcode",
return 2.
分析
dict 存 i: count, 第二次loop遇到count==1直接返回Index
import collections
class Solution:
def firstUniqChar(self, s):
"""
:type s: str
:rtype: int
"""
count = collections.defaultdict(int)
for i in s:
count[i] += 1
for i,v in enumerate(s):
if count[v] == 1:
return i
return -1
python 法 注意 min([] or[-1])
min([s.index(char) for char in set(s) if s.count(char) == 1] or [-1])
Last updated
Was this helpful?