给定两个字符串 A 和 B,本题要求你输出 A+B,即两个字符串的并集。要求先输出 A,再输出 B,但重复的字符必须被剔除。
输入格式:
输入在两行中分别给出 A 和 B,均为长度不超过 106的、由可见 ASCII 字符 (即码值为32~126)和空格组成的、由回车标识结束的非空字符串。
输出格式:
在一行中输出题面要求的 A 和 B 的和。
输入样例:
This is a sample test
to show you_How it works
输出样例:
This ampletowyu_Hrk
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int asc[128]={0};
string a,b;
getline(cin,a);
getline(cin,b);
string c=a+b;
for(int i=0;i<c.length();i++)
{
asc[c[i]]++;
if(asc[c[i]]==1)
cout<<c[i];
}
return 0;
}
本文介绍了一种用于计算两个字符串并集的算法,该算法能够去除重复字符,仅保留首次出现的字符,适用于处理大规模字符串数据。通过使用ASCII码值数组记录字符出现状态,实现了高效并集运算。

被折叠的 条评论
为什么被折叠?



