题目大意:
给出2个字符串,在第一个字符串中删除第二个字符串中出现过的所有字符并且输出
算法思路:
s1和s2分别记录第一和第二个字符串,使用table记录所有在s2中出现过的字符,在遍历s1的过程中,只要当前字符在table中没有被记录就输出即可。
提交结果:
AC代码:
#include <unordered_map>
#include <iostream>
using namespace std;
int main()
{
string s1,s2;
getline(cin,s1);
getline(cin,s2);
unordered_map<char,bool> table;
for (int i = 0; i < s2.size(); ++i) {
table[s2[i]] = true;
}
for (int j = 0; j < s1.size(); ++j) {
if(!table[s1[j]]){
printf("%c",s1[j]);
}
}
return 0;
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。