PAT甲级 1050 字符串减法

 原题链接

给定两个字符串 S1 和 S2,S=S1−S2 定义为将 S1 中包含的所有在 S2 中出现过的字符删除后得到的字符串。

你的任务就是计算 S1−S2。

输入格式
共两行,第一行包含字符串 S1,第二行包含字符串 S2。

输出格式
输出共一行,表示 S1−S2 的结果。

数据范围
两个给定字符串的长度都不超过 104。

输入样例:
They are students.
aeiou
输出样例:
Thy r stdnts.

我的解法:

#include<bits/stdc++.h>
using namespace std;
int main(){
    string s1,s2,res;
    getline(cin, s1);
    getline(cin, s2);
    unordered_set<char> hash;
    for(auto c:s2) hash.insert(c);
    for(auto c:s1)
        if(!hash.count(c)) res+=c;
    cout<<res;
    return 0;
}

收获:

哈希表的灵活使用,insert()与count()函数

猜你喜欢

转载自blog.csdn.net/weixin_45660485/article/details/124919035
今日推荐