題目:給定一個字串 s,找出其中第一個只出現一次的字元,並回傳它的索引
如果沒有符合的字元,回傳 -1

解法一

註解
- count = {} → 建立空字典,用來記錄每個字母出現幾次
- for ch in s: → 逐一讀取字串裡的每個字母
- count.get(ch, 0) → 取得目前字母的次數,若沒出現過就從 0 開始
- count[ch] = count.get(ch, 0) + 1 → 每出現一次就加 1
- for i in range(len(s)): → 依照順序檢查每個字母的位置
- if count[s[i]] == 1: → 找出第一個只出現一次的字母
- return i → 回傳該字母在字串中的索引位置
- return -1 → 如果沒有任何字母只出現一次,就回傳 -1
- 雙迴圈策略 → 第一次數字母次數、第二次找第一個只出現一次的字母
理解
- 數每個字母出現幾次
- 找出第一個只出現一次的
- 如果都沒有 → 回傳 -1