c++字符串查看是否重复
时间: 2024-09-13 18:08:34 浏览: 70
在C++中,检查字符串中是否有重复字符可以使用多种方法。以下是一种常见的方法,使用一个标准库中的数据结构和算法来实现:
1. 使用`std::unordered_set`:这个集合不存储重复元素,并且提供了快速的查找功能。通过遍历字符串中的每个字符,并尝试将它们插入到`unordered_set`中。如果插入失败(即返回`false`),则表示字符已经存在,说明字符串中有重复字符。
下面是实现这个方法的示例代码:
```cpp
#include <iostream>
#include <string>
#include <unordered_set>
bool hasDuplicateChars(const std::string& str) {
std::unordered_set<char> chars;
for (char c : str) {
if (chars.find(c) != chars.end()) {
return true; // 字符重复
}
chars.insert(c);
}
return false; // 没有重复字符
}
int main() {
std::string input = "example";
if (hasDuplicateChars(input)) {
std::cout << "字符串中存在重复字符" << std::endl;
} else {
std::cout << "字符串中不存在重复字符" << std::endl;
}
return 0;
}
```
这段代码定义了一个函数`hasDuplicateChars`,它接收一个字符串参数,并返回一个布尔值,指示字符串中是否存在重复字符。在主函数`main`中,它使用一个示例字符串来调用该函数,并打印出相应的结果。
阅读全文