问题描述:
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
案例:
s = "leetcode"返回 0.s = "loveleetcode",返回 2.
方法:
1 class Solution(object): 2 def firstUniqChar(self, s): 3 """ 4 :type s: str 5 :rtype: int 6 """ 7 x = "abcdefghijklmnopqrstuvwxyz" 8 res = [] #res=[s.index[i] for i in x if s.count(i) == 1] 9 for i in x:10 if i in s and s.count(i) == 1:11 res.append(s.index(i))12 if len(res):13 return min(res)14 return -1
官方:
1 class Solution(object): 2 def firstUniqChar(self, s): 3 """ 4 :type s: str 5 :rtype: int 6 """ 7 8 if s == '': 9 return -110 11 l = len(s)12 tmp = l13 for i in 'abcdefghijklmnopqrstuvwxyz':14 start = s.find(i)15 end = s.rfind(i)16 if start != -1 and start == end:17 tmp = min(tmp, start)18 if tmp < l:19 return tmp20 else:21 return -1
2018-09-28 16:27:05