您的位置:首页 > 其它

算法初步—散列—A1084

2018-01-31 11:19 113 查看
思路:

1、同时遍历两个字符串,出现不相等则说明有残缺键位

2、建立hash数组,将字符与是否统计过映射起来

注意点:

1、英文字母统一输出为大写字母

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
char s1[100],s2[100];
int hash[200] = {0};
scanf("%s%s",s1,s2);
int n1 = strlen(s1), n2 = strlen(s2);
for(int i=0,j=0;i<n1;i++)
{
char c1 = s1[i],c2 = s2[j];
if(c1>='a' && c1<='z') //先把小写字母全部转化为大写字母
c1 -= 32;
if(c2>='a' && c2<='z')
c2 -= 32;
if(c1 != c2)
{
if(!hash[c1])  //如果字符不相同且没有统计过,则输出
{
printf("%c",c1);
hash[c1] = 1;
}
}
else
j++;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: