例如,輸入“ They are students.” 和 “aeiou”, 則刪除之後的第一個字符串變爲“Thy r stdnts.”
解題思路:對於字符串,由於ASCII碼的所有符號爲256個(包括了拓展表)那麼,我們可以申請一個數組用來代表這256個字符是否存在於第二個字符串中,如果有,則標記爲1,如果沒有則標記爲0.同理,我們通過查詢,對應ASCII值號下,數組是否爲1,來判定是否刪除。
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str1;
string str2;
getline(cin, str1);
getline(cin, str2);
char buf[256] = { 0 };
for (int i = 0; i < str2.size(); i++)
{
buf[str2[i]]++;
}
string ret;
for (int i = 0; i < str1.size(); i++)
{
if (buf[str1[i]] == 0)
ret += str1[i];
}
cout << ret << endl;
system("pause");
return 0;
}