LeetCode 387. First Unique Character in a String
Published in
Mar 29, 2021
題目:
給定一個string,找到string中第一個非重複的index是多少,都是重複的話回傳-1。
Example 1:
Input: s = "leetcode"
Output: 0
Example 2:
Input: s = "loveleetcode"
Output: 2
Example 3:
Input: s = "aabb"
Output: -1
思路:
- from collections import Counter (用來幫忙數字母出現次數)
- 建立一個lookup 可以知道每一個字母出現的次數
lookup = Counter(s)
*如果不用到Counter的話 做法如下
lookup = dict()
for i in s :
if i in lookup:
lookup[i] +=1
else:
lookup[i] =1 - for i, c enumerate(s): for 循環go through 整個詞,i是index c是字母本身
if lookup[c] == 1:
return i - 其他情況return -1
Coding:
class Solution:
def firstUniqChar(self, s: str) -> int:
lookup = dict()
for i in s:
if i in lookup:
lookup[i] +=1
else:
lookup[i]=1
for i, c in enumerate(s):
if lookup[c] ==1:
return i
return -1