赛车平台出租 删除重复字符

给定两个字符,赛车平台出租【企 娥: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();
}

猜你喜欢

转载自blog.51cto.com/13951980/2169527
今日推荐