题解 | #字符串加密#
字符串加密
https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3
#include <iostream>
#include<vector>
#include<string>
#include<unordered_map>
using namespace std;
int main() {
string s;
string tmp;
getline(cin, s);
cin >> tmp;
unordered_map<char, int> mp;
vector<char> dic; //密码表
//建立密码表:
for(int i = 0; i < s.size(); i ++){ //加入已有的
if(mp.count(s[i])) continue;
else{
dic.push_back(s[i]);
mp[s[i]] ++;
}
}
for(int i = 0; i < 26; i ++){ //加入其他的字母
if(mp.count('a' + i)) continue;
else{
dic.push_back('a' + i);
mp['a' + i] ++;
}
}
string res = "";
for(int i = 0; i < tmp.size(); i ++){
if(tmp[i] >='A' && tmp[i] <= 'Z'){ //大写字母处理
char c = toupper(dic[tmp[i] - 'a']);
res += c;
}
else{
char c = dic[tmp[i] - 'a'];
res += c;
}
}
cout << res << endl;
return 0;
}
思路对就能一遍跑过,自己又秒一题,nice!
