查找一个字符串中第一个重复出现的字符(C++)
假设我们有一个字符串,我们需要找到第一个重复出现的字符。如果字符串是"Hello Friends",第一个重复出现的字符将是 l。因为有两个 l 连在一起。
为解决此问题,我们将使用哈希技术。创建一个哈希表,逐一扫描各个字符,如果字符不在其中,则插入哈希表,如果字符已存在,则返回该字符。
示例
#include<iostream>
#include<unordered_set>
using namespace std;
char getFirstRepeatingChar(string &s) {
unordered_set<char> hash;
for (int i=0; i<s.length(); i++) {
char c = s[i];
if (hash.find(c) != hash.end())
return c;
else
hash.insert(c);
}
return '\0';
}
int main () {
string str = "Hello Friends";
cout << "First repeating character is: " << getFirstRepeatingChar(str);
}输出
First repeating character is: l
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
JavaScript
PHP