力扣387. 字串中的第一個唯一字元 C++版
阿新 • • 發佈:2020-12-24
387. 字串中的第一個唯一字元
描述
給定一個字串,找到它的第一個不重複的字元,並返回它的索引。如果不存在,則返回 -1。
示例:
s = “leetcode”
返回 0
s = “loveleetcode”
返回 2
分析
找出第一個不重複的字元,可以使用map記錄字串中字元的出現次數,遍歷一遍得到每個字元出現的次數,然後在查詢第一個map的值為1時的字元。
c++程式碼
class Solution {
public:
int firstUniqChar(string s) {
map<char, int > map;
for(int i = 0 ; i < s.size(); i++){
map[s[i]]++;
}
int res = -1;
for(int i = 0; i < s.size();i++){
if(map[s[i]] == 1)
{
res = i;
break;
}
}
return res;
}
} ;
複製度分析
時間複雜度O(n),n是字串s的長度。