Python leetcode
387. 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.
Note: You may assume the string contain only lowercase letters.
#coding=utf-8
#求一个字符串的第一个不重复的字符,返回它的下标
'''
Examples:
s = "leetcode"
return 0.
s = "loveleetcode",
return 2.
'''
import string
class Solution(object):
def firstUniqChar(self, s):
"""
:type s: str
:rtype: int
"""
#这个简单的方法 time limit
'''
for x in s:
if s.count(x) == 1:
return s.index(x)
'''
#方法2与3的核心在于找满足要求的最小位置加了个find()操作,这样就保证是最先出现的
#方法2:
#return min([s.find(x) for x in string.lowercase if s.count(x)==1] or [1])
#方法3
from collections import Counter
return min([s.find(x) for x,v in Counter(s).iteritems() if v==1] or [-1])
s='leetcode'
S=Solution()
print S.firstUniqChar(s)