题目翻译:
给定两个字符串 S1 和 S2,S=S1−S2 定义为将 S1 中包含的所有在 S2 中出现过的字符删除后得到的字符串。
你的任务就是计算 S1−S2。
题解思路:
直接用unordered_map存一下S2,然后再直接对S1遍历一下就行
代码:
#include<bits/stdc++.h>
using namespace std;
unordered_map<char, bool> p;
int main()
{
string s1, s2;
getline(cin, s1);
getline(cin, s2);
for (auto i : s2)
p[i] = 1;
for (auto i : s1)
{
if (!p[i])
cout << i;
}
}
坑点:
无