一、題目描述
給定一個字符串,找到它的第一個不重複的字符,並返回它的索引。如果不存在,則返回 -1。
案例:
s = "leetcode"
返回 0.
s = "loveleetcode",
返回 2.
注意事項:您可以假定該字符串只包含小寫字母。
二、解題思路
該題爲簡單題,思路就是用 哈希表來記錄每個字母出現的次數,然後找出第一次出現次數爲1的字符就是第一個不重複的字符。
哈希表可以用 map或者數組,時間複雜度爲O(n),空間複雜度爲O(n),直接看代碼即可。
三、可運行java代碼
class Solution {
public int firstUniqChar(String s) {
int[] count = new int[26];
for (int i = 0; i < s.length(); i++) {
count[s.charAt(i)-'a'] ++;
}
for (int i = 0; i < s.length(); i++) {
if(count[s.charAt(i)-'a'] == 1){
return i;
}
}
return -1;
}
}