生成去除重复字母的c++代码
时间: 2023-06-17 22:06:01 浏览: 96
以下是一个去除重复字母的 C++ 代码示例:
```cpp
#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;
string removeDuplicates(string s) {
unordered_set<char> seen;
string result = "";
for (char c : s) {
if (seen.count(c) == 0) {
seen.insert(c);
result += c;
}
}
return result;
}
int main() {
string input = "hello world";
string output = removeDuplicates(input);
cout << output << endl;
return 0;
}
```
在这个代码示例中,我们首先创建了一个空的 `unordered_set` 对象,用于存储已经出现过的字符。然后我们遍历输入字符串,对于每个字符,如果它还没有出现过,我们将它加入到 `seen` 集合中,并将它添加到结果字符串 `result` 中。最后,我们返回结果字符串。
这个算法的时间复杂度是 $O(n)$,其中 $n$ 是输入字符串的长度,因为我们只遍历了一次输入字符串。空间复杂度也是 $O(n)$,因为 `seen` 集合最多包含输入字符串中的所有字符。
阅读全文