C++给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 输入: 示例: leetcode loveleetcode 输出: 0 2 提示:你可以假定该字符串只包含小写字母。
时间: 2024-02-22 19:00:35 浏览: 70
c++-c++编程基础之leetcode题解第28题找出字符串第一个匹配项的下标.zip
好的,下面是 C++ 的代码实现,和 Python 代码类似:
```cpp
#include <string>
#include <unordered_map>
using namespace std;
class Solution {
public:
int firstUniqChar(string s) {
unordered_map<char, int> char_freq;
for (char c : s) {
char_freq[c]++;
}
for (int i = 0; i < s.size(); i++) {
if (char_freq[s[i]] == 1) {
return i;
}
}
return -1;
}
};
```
你可以通过调用 `Solution` 类中的 `firstUniqChar()` 函数来得到字符串中第一个不重复的字符的索引。例如:
```cpp
string s = "leetcode";
Solution solu;
cout << solu.firstUniqChar(s) << endl; // 输出 0
s = "loveleetcode";
cout << solu.firstUniqChar(s) << endl; // 输出 2
```
阅读全文