此题又毫无悬念的让我大吃一惊;
--------------------------------------------------------
在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).
这个题,我看到的第一眼就确定他很简单,然后用暴力破解的方法来解决,,可是我错了。。。。
创建一个字典是相当的easy
接下来代码:
class Solution:
def FirstNotRepeatingChar(self, s):
#首先如果s为空的话,直接return -1
if s == "":
return -1
else:
count = {} #首先创建一个字典,保存那些数字
for i in s:
if i in count:
count[i] += 1 # 如果count里面有这个i键,那么就是将这个i对应的值加1
else:
count[i] = 1 #如果count里面根本没有这个i键,那么就将这个i键对应的值赋值为1
for index,i in enumerate(s): #这里用到了python内置函数,enumerate取出每个值的下标和值
if count[i] == 1: #值的数为1就返回下标
return index
至此,礼毕!