题目描述
给出两个字符串,将它们进行拼接,拼接过程中每个字符只允许出现一次。
如:两个字符串 s1=" adeab ", s2s2 =" fcadex ",那么连接时 s1留下 adeba(第 2个 a出现过了,就不要了),再将 s2连接上来形成 adebfcx,两个字符串中重复的都过滤掉,但剩余的顺序不要调整。
输入格式
两行,每行一个只包含小写英文字母的字符串。
输出格式
一行,连接后的字符串。
输入样例
abc
daaeb
输出样例
abcde
题目描述
给出两个字符串,将它们进行拼接,拼接过程中每个字符只允许出现一次。
如:两个字符串 s1=" adeab ", s2s2 =" fcadex ",那么连接时 s1留下 adeba(第 2个 a出现过了,就不要了),再将 s2连接上来形成 adebfcx,两个字符串中重复的都过滤掉,但剩余的顺序不要调整。
输入格式
两行,每行一个只包含小写英文字母的字符串。
输出格式
一行,连接后的字符串。
输入样例
abc
daaeb
输出样例
abcde
#include<string.h>
#include<stdio.h>
/*
* 如:两个字符串 s1=" adeab ", s2s2 =" fcadex ",那么连接时 s1留下 adeba(第 2个 a出现过了,就不要了),再将 s2连接上来形成 adebfcx,两个字符串中重复的都过滤掉,但剩余的顺序不要调整。
输入格式
两行,每行一个只包含小写英文字母的字符串。
输出格式
一行,连接后的字符串。
输入样例
abc
daaeb
输出样例
abcde
*/
int main()
{
char str1[1024], str2[1024];
int sz[26] = {0};
scanf("%s%s",&str1,&str2);
strcat(str1,str2);
char str3[1024] = { 0 };
int i = 0;
int j = 0;
while (str1[i]!='\0')
{
int n = str1[i] - 'a';
if (sz[n]==0)
{
str3[j] = str1[i];
j++;
sz[str1[i] - 'a'] = 1;
}
i++;
}
printf("%s",str3);
return 0;
}