387. First Unique Character in a String
Đề Bài
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:
Input: s = "leetcode" Output: 0
Example 2:
Input: s = "loveleetcode" Output: 2
Example 3:
Input: s = "aabb" Output: -1
Constraints:
1 <= s.length <= 105sconsists of only lowercase English letters.
Thuật Toán & Kỹ Thuật
⏱️ Thời gian
O(n²)
💾 Không gian
O(n)
Lời Giải
C++
0387-first-unique-character-in-a-string.cpp
class Solution {
public:
int firstUniqChar(string s) {
int cnt[26] = {0};
for (char c : s) {
cnt[c - 'a']++;
}
int n = s.size();
for (int i = 0; i < n; ++i) {
if (cnt[s[i] - 'a'] == 1) {
return i;
}
}
return -1;
}
};
Python
0387-first-unique-character-in-a-string.py
class Solution:
def firstUniqChar(self, s: str) -> int:
cnt = defaultdict(int)
for c in s:
cnt[c] += 1
for i, c in enumerate(s):
if cnt[c] == 1:
return i
return -1