题解 | #字符串加密#
字符串加密
http://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3
#include <bits/stdc++.h>
using namespace std;
int main ()
{
string str, input, keystr;
cin >> str; cin >> input;
//去重,新字母表开头
int num[26] = {0}; //num[0]是a出现的次数,num[1]是b的次数..... num[25]是z的次数
for(int i = 0; i < str.length(); i++)
{
if(num[str[i] - 'a'] == 0)
{
num[str[i] - 'a'] += 1;
keystr.push_back(str[i]); //
}
}
//按顺序加入表头没有的字母
for(int i = 0; i < 26; i++)
{
if(num[i] == 0)
keystr.push_back((char)(i + 'a'));
}
for(int i = 0; i < input.length(); i++)
cout << keystr[input[i] - 'a'];
return 0;
}