题意:按照查找顺序输出坏掉的键盘字母(大写)
注意点: 1. 大小写不敏感
2.按照查找顺序依次输出坏掉的大写字母
解题方法:将小写字母全部装换成大写字母,用num数组记录字母是否缺失,并且在每次遍历查找时去检查是否之前已经出现过。
代码如下:
#include<bits/stdc++.h>
#define lowbit(x) ((x)&(-(x)))
#define ll long long
#define INF 0x3f3f3f3f
#define N 100000
#define CLR(a) memset(a, 0, sizeof(a))
using namespace std;
string a,b;
int num[300];
int main() {
CLR(num);
cin>>a>>b;
for(int i=0;i<a.size();i++) //将小写全部换成大写
if(a[i]>='a'&&a[i]<='z')
a[i]-=32;
for(int i=0;i<b.size();i++) //将小写全部换成大写
if(b[i]>='a'&&b[i]<='z')
b[i]-=32;
int bloc=0;//b串的位置
for(int i=0;i<a.size();i++){
if(a[i]!=b[bloc]){
if(!num[a[i]]){
printf("%c",a[i]);
}
num[a[i]]++;
}
else{
bloc++;
}
}
printf("\n");
return 0;
}