[LeetCode] First Unique Character in a String

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.

使用map统计字符串s中字母出现的次数后,然后遍历字符串,找到在map中值为1的字母,返回它的索引即可。

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

 

posted @ 2017-07-16 14:58  immjc  阅读(98)  评论(0编辑  收藏  举报