PAT乙级1093-----字符串A+B (20分)

1093 字符串A+B (20分)

输入样例:

This is a sample test
to show you_How it works
 

输出样例:

This ampletowyu_Hrk


思路:
1.先求并集,然后从A开始,每个在并集里的字符输出且仅输出一次

首次通过代码:
 1 #include<stdio.h>
 2 #include<string.h>
 3 
 4 int main(){
 5     char a[1000005];
 6     char b[1000005];
 7     int a1[128]={0};
 8     int b1[128]={0};
 9     gets(a);
10     gets(b);
11     for(int i=0;i<strlen(a);i++) 
12        if(a1[a[i]]==0) a1[a[i]]=1;
13     for(int i=0;i<strlen(b);i++) 
14        if(a1[b[i]]==0) a1[b[i]]=1;
15     for(int i=0;i<strlen(a);i++) 
16       if(a1[a[i]]==1&&b1[a[i]]==0) {
17         printf("%c",a[i]);
18         b1[a[i]]=1;
19       }
20     for(int i=0;i<strlen(b);i++) 
21       if(a1[b[i]]==1&&b1[b[i]]==0) {
22         printf("%c",b[i]);
23         b1[b[i]]=1;
24       }
25 
26        return 0;
27 }
View Code
 
原文地址:https://www.cnblogs.com/a982961222/p/12402414.html