输入两个字符串,从第一字符串中 删除第二个字符串中所有的字符。 例如:第一个字符串是" They are students." ,第二个字符串是”aeiou"。 删除之后的第一个字符串变成"Thy r stdnts."。 保证两个字符串的长度均不超过100。
区块链毕设网qklbishe.com为您提供问题的解答
输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。
例如:第一个字符串是"They are students.",第二个字符串是”aeiou"。删除之后的第一个字符串变成"Thy r stdnts."。
保证两个字符串的长度均不超过100。
要注意的是 string
字符串调用 erase()
函数后迭代器会失效,要将迭代器指针前移一个位置,即执行 --it;
操作。
#include <iostream> #include <string> #include <unordered_map> #include <algorithm> using namespace std; int main() { string str1, str2; getline(cin, str1); getline(cin, str2); unordered_map<char, bool> mp; for (char c : str2) mp[c] = true; for (auto it = str1.begin(); it != str1.end(); ++it) if (mp[*it]) { str1.erase(it); --it; } cout << str1 << endl; return 0; }
46:29
000
50:34
以上就是关于问题输入两个字符串,从第一字符串中 删除第二个字符串中所有的字符。 例如:第一个字符串是" They are students." ,第二个字符串是”aeiou"。 删除之后的第一个字符串变成"Thy r stdnts."。 保证两个字符串的长度均不超过100。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训