Given two strings S1 and S2, S=S1−S2 is defined to be the remaining string after taking all the characters in S2 from S1. Your task is simply to calculate S1−S2 for any given strings. However, it might not be that simple to do it fast.
Input Specification:
Each input file contains one test case. Each case consists of two lines which gives S1 and S2, respectively. The string lengths of both strings are no more than 10^4. It is guaranteed that all the characters are visible ASCII codes and white space, and a new line character signals the end of a string.
Output Specification:
For each test case, print S1−S2 in one line.
Sample Input:
They are students.
aeiou
Sample Output:
Thy r stdnts.
题意:
给出两个字符串(字符串长度均小于10000),在第一个字符串中删去第二个字符串中出现过的所有字符并输出。
注意:
- 熟练 string 类的使用
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
bool HashTable[128] = {false};
int main(){
string a, b;
getline(cin, a);
getline(cin, b);
int lenA = a.length();
int lenB = b.length();
for(int i = 0; i < lenB; i++){
HashTable[b[i]] = true;
}
for(int i = 0; i < lenA; i++){
if(HashTable[a[i]] == false)
printf("%c", a[i]);
}
return 0;
}