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;
}

posted @ 2020-10-01 17:06  韩天尊  阅读(102)  评论(0)    收藏  举报