題目:
Given a string s, find the first non-repeating character in it and return its index. If it does not exist, return -1.
給定一字串,找出第一個獨一無二的值,回傳它的index,若不存在則回傳-1
這題我選擇使用hash set
class Solution:
def firstUniqChar(self, s: str) -> int:
s1=set()
for i in range(len(s)):
if s[i] not in s1:
if s[i] not in s[i+1:len(s)]:
return i
else:
s1.add(s[i])
return -1
將字串裡的字元一一確認
若在此字元之後的字串不存在此字元,回傳該字元index
檢測過的字元會放入集合s1,下次遇到相同字元就不進行檢測
若都無回傳,則回傳-1
最後執行時間51ms(faster than 99.88%)
那我們下題見