共计 398 个字符,预计需要花费 1 分钟才能阅读完成。
题目粗心:
给出 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;
}
正文完