敘述
這是 Data Structure I
的第六天第一個題目,總共有三題。
- 難度:
Easy
- 花費時間: 1小時
- 題目
給你一個字串,找到裡面第一個沒有重複的字並且回傳他的 index
,如果不存在,那就回傳 -1
點我開啟限制與範例
限制:
1 <= s.length <= 105
s
consists of only lowercase English letters.
Example 1:
1 | Input: s = "leetcode" |
Example 2:
1 | Input: s = "loveleetcode" |
Example 3:
1 | Input: s = "aabb" |
筆記
解題思路是遍歷一次陣列把所有的子字符跟他的 index 都放在 Object 裡做比較,應該有更好的做法。
建立一個 Object 存放如下資料:
1 | { |
寫一個迴圈遍歷字串:
- 每遇到一個文字就放入 Object
- 比較當前 index 跟 String.prototype.indexOf()
- 如果不一樣: Object 裡的值就改成 -1
- 如果一樣: 不做事
迴圈結束
- 如果 Object 裡還有資料: 回傳他的 index
- 如果沒有: 回傳 -1
程式碼
1 | /** |