1. 题目
https://leetcode-cn.com/problems/first-unique-character-in-a-string/
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
案例:
s = "leetcode"
返回 0.
s = "loveleetcode",
返回 2.
注意事项:您可以假定该字符串只包含小写字母。
2. 我的AC
class Solution(object):
def firstUniqChar(self, s):
"""
:type s: str
:rtype: int
"""
mapping = {}
for char in s:
if char not in mapping:
mapping[char] = 1
else:
mapping[char] += 1
for i in range(len(s)):
if mapping[s[i]] == 1:
return i
else:
return -1
3. 小结
- 字典的值列表
-
dict.values()
以列表返回字典中的所有值
- 列表索引
-
list.index(obj)
某个值第一个匹配项的索引位置
- 遍历字典元素
-
for key in d:
得到元素的键 -
key, value in d.iteritems():
访问键和对应的值