天天看點

[leetcode] 387. First Unique Character in a String

Description

Given a string, find the first non-repeating character in it and return it’s index. If it doesn’t exist, return -1.

Examples:

s = "leetcode"
return 0.
s = "loveleetcode",
return 2.      

Note: You may assume the string contain only lowercase letters.

分析

  • 用hash(不排序)表統計詞頻,然後周遊一遍找到第一個詞頻為1的字元就行了。

代碼

class Solution {
public:
    int firstUniqChar(string s) {
        unordered_map<char,int> m;
        for(auto c:s){
            m[c]++;
        }
        for(int i=0;i<s.size();i++){
            if(m[s[i]]==1){
                return i;
            }
        }
        return -1;
    }
};      

參考文獻