pta--1050 String Subtraction(20 分)(Hash)

题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805429018673152

【分析】

题意:两个字符串s1,s2,s2中出现的字符若在s1中也出现就删除,操作结束后输出s1.

思路:Hash散列,存储每个字符出现的个数。如果某个字符未出现过就输出,否则不输出。

【代码】

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e4+5;
char s1[maxn];
int a[300];
int main()
{
    char ch;
    int i=0;
    memset(a,0,sizeof(a));
    while((ch=getchar())!='\n')
    	s1[i++]=ch;
    i=0;
    while((ch=getchar())!='\n')
    	a[ch]++;
    int len1=strlen(s1);//,len2=strlen(s2);
    for(i=0;i<len1;i++)
    {
    	if(!a[s1[i]])printf("%c",s1[i]);
	}
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_38735931/article/details/82379651