百思不得其解:为什么会错,那是什么测试点?
#include<iostream>
#include<string>
using namespace std;
int main()
{
string a,b;
getline(cin,a);
getline(cin,b);
for(int i=0;b[i]!='\0';i++)
for(int j=0;a[j]!='\0';j++)
if(a[j]==b[i])
a.erase(a.begin()+j);
printf("%s",a.c_str());
}
还是用散列写一下吧!
#include<iostream>
#include<string>
using namespace std;
bool hashtable[11000]={false};
int main()
{
string a,b;
getline(cin,a);
getline(cin,b);
for(int i=0;b[i]!='\0';i++) hashtable[b[i]]=true;
for(int j=0;a[j]!='\0';j++)
if(hashtable[a[j]]==false)
printf("%c",a[j]);
}