输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”
【题目解析】
【解题思路】
利用hash映射的思路,将s2中出现的字母遍历,统计到数组table中,之后遍历s1,如果统计次数为0,则表示不是公共字符,就可以保留输出。
#include<iostream>
#include<string>
using namespace std;
int main(){
string s1,s2;
getline(cin,s1);
getline(cin,s2);
int table[256]={0};
for(int i=0;i<s2.size();i++){
table[s2[i]]++;
}
string str;
for(int i=0;i<s1.size();i++){
if(table[s1[i]]==0){
str+=s1[i];
}
}
cout<<str<<endl;
}