问题描述:
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -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 -1 10 11 l = len(s) 12 tmp = l 13 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 tmp 20 else: 21 return -1
2018-09-28 16:27:05