舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字符就不會出現。現在給出應該輸入的一段文字、以及實際被輸入的文字,請你列出肯定壞掉的那些鍵。
輸入格式:
輸入在 2 行中分別給出應該輸入的文字、以及實際被輸入的文字。每段文字是不超過 80 個字符的串,由字母 A-Z(包括大、小寫)、數字 0-9、以及下劃線 _
(代表空格)組成。題目保證 2 個字符串均非空。
輸出格式:
按照發現順序,在一行中輸出壞掉的鍵。其中英文字母只輸出大寫,每個壞鍵只輸出一次。題目保證至少有 1 個壞鍵。
輸入樣例:
7_This_is_a_test
_hs_s_a_es
輸出樣例:
7TI
一個一個對照,用數組標記是否輸出過該字符;
代碼:
#include<stdio.h>
#include<string>
#include<iostream>
#include<algorithm>
#include<map>
using namespace std;
map<char,bool>book;
int main()
{
string s1,s2;
cin>>s1>>s2;
transform(s1.begin(),s1.end(),s1.begin(),::toupper);//轉換成大寫字母
transform(s2.begin(),s2.end(),s2.begin(),::toupper);
for(int i=0,j=0;i<s1.length();i++)
{
if(s1[i]==s2[j])
{
j++;
}
else
{
if(book[s1[i]]==0)
{
cout<<s1[i];
book[s1[i]]=1;
}
}
}
return 0;
}