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;
}