LeetCode 387. First Unique Character in a String

題目:

給定一個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

思路:

  1. from collections import Counter (用來幫忙數字母出現次數)
  2. 建立一個lookup 可以知道每一個字母出現的次數
    lookup = Counter(s)
    *如果不用到Counter的話 做法如下
    lookup = dict()
    for i in s :
    if i in lookup:
    lookup[i] +=1
    else:
    lookup[i] =1
  3. for i, c enumerate(s): for 循環go through 整個詞,i是index c是字母本身
    if lookup[c] == 1:
    return i
  4. 其他情況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

--

--

Sharko Shen
Data Science & LeetCode for Kindergarten

Thinking “Data Science for Beginners” too hard for you? Check out “Data Science for Kindergarten” !