387. First Unique Character in a String

387. First Unique Character in a String

Description

Difficulty: Easy

Related Topics: Hash Table, String, Queue, Counting

Given a string s, find the first non-repeating character in it and return its index. If it does not exist, return -1.

Example 1:

1
2
Input: s = "leetcode"
Output: 0

Example 2:

1
2
Input: s = "loveleetcode"
Output: 2

Example 3:

1
2
Input: s = "aabb"
Output: -1

Constraints:

  • 1 <= s.length <= 105
  • s consists of only lowercase English letters.

Hints/Notes

  • map

Solution

Language: C++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
public:
    int firstUniqChar(string s) {
        map<charint> m;
        for (char c : s) {
            m[c]++;
        }
        for (int i = 0; i < s.size(); i++) {
            if (m[s[i]] == 1) {
                return i;
            }
        }
        return -1;
    }
};