使用C++求两个字符串的差集
时间: 2024-03-08 21:50:11 浏览: 132
C++实现字符串求交集、并集、差集
5星 · 资源好评率100%
可以使用 `set` 容器来求两个字符串的差集。具体实现步骤如下:
1. 将第一个字符串中的所有字符插入到一个 `set` 容器中。
2. 遍历第二个字符串,如果当前字符在 `set` 容器中不存在,则将该字符插入到结果字符串中。
以下是 C++ 的实现代码:
```c++
#include <iostream>
#include <string>
#include <set>
using namespace std;
string diff(string s1, string s2) {
set<char> s;
for (char c : s1) {
s.insert(c);
}
string ans;
for (char c : s2) {
if (!s.count(c)) {
ans += c;
}
}
return ans;
}
int main() {
string s1, s2;
cin >> s1 >> s2;
string ans = diff(s1, s2);
cout << ans << endl;
return 0;
}
```
需要注意的是,这里使用了 `set` 容器的 `count` 函数来判断某个字符是否存在于 `set` 中。因为 `set` 中不存在相同的元素,所以如果某个字符存在于 `set` 中,那么它的计数一定是 1,否则就是 0。
阅读全文