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.
题目:在一个字符串中,找出第一个不重复字母的索引,如果不存在,则返回-1
class Solution { public: int firstUniqChar(string s) { map<char, int> map; for (auto &e : s) { ++map[e]; } char first = ' '; int position = INT_MAX; for (auto &e : map) { if (e.second == 1) { first = e.first; int current_position = s.find_first_of(first); if (current_position < position) position = current_position; } } if (position != INT_MAX) return position; else return -1; } };