简单的说就是建立hash表 后来的字符串与hash表与操作 即可进行对比
#include "stdafx.h"
#include <string>#include <iostream>
#include <bitset>
using namespace std;
bool StringContain(string &a,string &b);
int main()
{
string a="ABCD";
string b="BAD";
StringContain(a,b);
return 0;
}
bool StringContain(string &a,string &b)
{
int hash=0;
for(int i=0;i<a.length();++i)
{
hash |=(1<<(a[i]-'A'));
//cout<<bitset<sizeof(int)*8>(hash)<<" ";
}
for(int i=0;i<b.length();++i)
{
if((hash &(1<<b[i]-'A'))==0)
{
return false;
}
}
return true;
}