题目描述
输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”
输入描述:
每个测试输入包含2个字符串
输出描述:
输出删除后的字符串
示例1
输入
They are students. aeiou
输出
Thy r stdnts.
/* 思路:定义一个辅助数组,存放第二个字符串中存在各种字符;遍历第一个字符串,若存在第一个字符串中的 字符,则把该字符删除掉 */ #include<iostream> #include<string> #include<vector> using namespace std; int main(){ string s1,s2; vector<char> str; int count[256]={0}; getline(cin,s1);//输入一行 getline(cin,s2); for(int i=0;i<s2.size();++i){ count[s2[i]-'0']=1; } for(int i=0;i<s1.size();++i){ if(count[s1[i]-'0']==1){ s1=s1.erase(i,1); //删除从i开始的第一个字符,删除后指向被删除元素的后一个指针,所以需要i=i-1 i=i-1; } } cout<<s1<<endl; system("pause"); return 0; }