一.题目
二.解题思路
1.将第二字符串都映射到hashtable数组中
2.将第一个字符串映射到hashtable中 如果返回0,则说明第一个和第二个字符串字符不相等,定义ret接收不相等的字符,形成新的字符串
三.代码
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str1,str2;
getline(cin ,str1);
getline(cin,str2); //用getline接收而不用cin接收因为getline遇到字符也会接收
int hashtable[256]={0}; //定义哈希表
for(size_t i=0;i<str2.size();++i) //使用哈希映射思想str2统计字符出现的次数
{
hashtable[str2[i]]++;
}
string ret;
for(size_t i=0;i<str1.size();++i)
{
if(hashtable[str1[i]]==0) //str1[i]映射哈希表对应位置为0则表示这个字符 在str2中没有出现过
ret+=str1[i]; //将它+=ret变成新的字符串
}
cout<<ret<<endl;
return 0;
}