1093 字符串A+B (20 分)

原题

https://pintia.cn/problem-sets/994805260223102976/problems/1071785884776722432

代码

#include <iostream>
#include <string>
using namespace std;

int result[126]={0};
int main() {
    string str1,str2,str;
    getline(cin,str1);
    getline(cin,str2);
    str=str1+str2;

    for (int i = 0; i < str.length(); i++) result[str[i]]++;

    for (int i = 0; i < str.length(); i++) 
    {
        if(result[str[i]]>0){
             cout<<str[i];
             result[str[i]]=0;
        }
    } 
    return 0;
}

没有最简化,只有更简化

#include <iostream>
using namespace std;
int main() {
    string s1, s2, s;
    int hash[200] = {0};
    getline(cin, s1);
    getline(cin, s2);
    s = s1 + s2;
    //核心只是要不输出重复的
    for (int i = 0; i < s.size(); i++) {
        if (hash[s[i]] == 0) cout << s[i];
        hash[s[i]] = 1;
    }
    return 0;
}
posted @ 2021-12-12 21:43  Infinite_V胜  阅读(16)  评论(0)    收藏  举报