题⽬⼤意:给出两个字符串,在第⼀个字符串中删除第⼆个字符串中出现过的所有字符并输出。
这道题的思路:将哈希表里关于字符串s2的所有字符都置为true,再对s1的每个字符进行判断,若Hash[s1[i]]不为true,则输出。
代码如下:
#include<iostream>
#include<string>
using namespace std;
bool Hash[128] = {0};
int main(){
string s1, s2;
getline(cin, s1);
getline(cin, s2);
for(int i = 0; i < s2.length(); i++)
Hash[s2[i]] = true;
for(int i = 0; i < s1.length(); i++)
if(Hash[s1[i]] != true) cout << s1[i];
return 0;
}
(只有14行哈哈哈)