First Unique Character in a String
Posted amazingzoe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.
1 class Solution { 2 public: 3 int firstUniqChar(string s) { 4 int table[26] = {0}; 5 for (char ch : s) 6 table[ch - ‘a‘]++; 7 8 for (int i = 0; i < s.size(); i++) 9 if (table[s[i] - ‘a‘] == 1) return i; 10 11 return -1; 12 } 13 };
1 class Solution { 2 public: 3 int firstUniqChar(string s) { 4 unordered_map<char, bool> um; 5 for (int i = 0; i < s.size(); i++) { 6 if (!um[s[i]] && s.find(s[i], i + 1) == s.npos) return i; 7 um[s[i]] = true; 8 } 9 return -1; 10 } 11 };
1 class Solution { 2 public: 3 int firstUniqChar(string s) { 4 unordered_map<char, vector<int> > um; 5 for (int i = 0; i < s.size(); i++) 6 um[s[i]].push_back(i); 7 8 int result = INT_MAX; 9 for (auto item : um) { 10 if (item.second.size() == 1) result = min(result, item.second[0]); 11 } 12 return result == INT_MAX ? -1 : result; 13 } 14 };
以上是关于First Unique Character in a String的主要内容,如果未能解决你的问题,请参考以下文章
#Leetcode# 387. First Unique Character in a String
209 First Unique Character in a String
first-unique-character-in-a-string
LeetCode(387)First Unique Character in a String