387. First Unique Character in a String

来源:互联网 发布:单片机温度报警器程序 编辑:程序博客网 时间:2024/06/11 13:00

387. First Unique Character in a String

Given a string, find the first non-repeatingcharacter in it and return it's index. If it doesn't exist, return -1.

Examples:

s = "leetcode"

return 0.

 

s = "loveleetcode",

return 2.

 

Note: You may assume the string contain onlylowercase letters.

 

题意说可以假设只有26个小写字母

这里我采用的方法是python中的dict字典,可以包含不仅是小写字母的键值,不过执行效率不怎么高。。

逻辑如下:遍历字符串S,如果没有出现在字典中,则初始化为1,否则就加1.这里统计的是出现的次数

然后再遍历S,如果对应的键值在字典中的value1,代表只出现了一次,则返回这个k在字符串S中的索引。

最后如果不存在则返回-1

class Solution(object):    deffirstUniqChar(self, s):       """       :type s: str       :rtype: int       """        d={}        fori in s:           if i not in d:               d[i]=1           else:               d[i]=int(d[i])+1 #value +1        fork in s:           if(d[k]==1):               return s.index(k)       return -1 


另外,还可以利用从0-25对应起相应的26个字母,再通过遍历字符串计数,相关判断后返回。

另外,还可以运用HashMap