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 };
时间: 2024-08-27 04:43:42

First Unique Character in a String的相关文章

Leetcode-387 First Unique Character in a String

#387.   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 m

LeetCode(387)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 lowerc

LeetCode_387. First Unique Character in a String

387. First Unique Character in a String Easy 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

209 First Unique Character in a String

原题网址:https://www.lintcode.com/problem/first-unique-character-in-a-string/description 描述 给出一个字符串,找出第一个只出现一次的字符. 您在真实的面试中是否遇到过这个题?  是 样例 对于 "abaccdeff", 'b'为第一个只出现一次的字符. 标签 字符串处理 思路:用两个哈希表,一个统计每个字符出现次数,另一个统计字符的下标.遍历第一个哈希表,找到字符出现次数为1并且下标最小的return出去

leetcode修炼之路——387. First Unique Character in a String

最近公司搬家了,有两天没写了,今天闲下来了,继续开始算法之路. leetcode的题目如下: 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: Y

[LeetCode] NO. 387 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 lowe

387. First Unique Character in a String

https://leetcode.com/problems/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 = "lovel

Java [Leetcode 387]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. 解题思路: 开个26个数的数组,然后先对字符串过一遍,统计每个字母出现的次数,然后从头再国一遍,

[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