PAT(Basic Level) Practice : 1093 字符串A+B (20分)
1093 字符串A+B (20分)
哈希表
1.哈希表判断该字符是否出现过
题目说字符是由“由可见 ASCII 字符 (即码值为32~126)和空格组成的”
空格ascii码是32,其余字符的范围是32~126,建立一个127的数组作为哈希表使用。
2.因为有空格,所以用getline()读取
代码
#include <iostream>
#include <vector>
#include <string>
#include <cstdio>
//scanf printf防止超时
#include <algorithm>
//vector的sort
#include <sstream>
//转换
using namespace std;
#include<iomanip>
//精度
#include<cmath>
//round四舍五入取整
#include <map>
int Hash[127]={0};
int main()
{
string str1,str2;
getline(cin,str1);
getline(cin,str2);
str1+=str2;
for(int i=0;i<str1.length();i++)
{
if(Hash[str1[i]]==0)
{
cout<<str1[i];
Hash[str1[i]]++;
}
}
cout<<endl;
return 0;
}

浙公网安备 33010602011771号