1. 程式人生 > 其它 >力扣387. 字串中的第一個唯一字元 C++版

力扣387. 字串中的第一個唯一字元 C++版

技術標籤:LeetCodec++leetcode

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的長度。