给定两个字符,赛车平台出租【企 娥:217 1793 408】从第一个字符中删除在第二个字符中出现的字符
思路:通过字符的ascii码值作为下标,用数组构建一个哈希表
#include <iostream>
#include <string>
using namespace std;
class Test{
private:
string a;
int* hashtable;
public:
Test(string& x,string& y):a(x)
{
hashtable = new int[122-65+1];
memset(hashtable,0,122-65+1);
for(int i=0;i<y.length();i++)
{
char p = y[i];
hashtable[p-'A']=1;
}
for(int i=0;i<a.length();i++)
{
if(hashtable[a[i]-'A']==1)
a.erase(i,1);
}
}
~Test()
{
delete[] hashtable;
}
void show()
{
cout<<a<<endl;
}
};
int main()
{
string x="we are students";
string y="aeiou";
Test t(x,y);
t.show();
}