题解 | #字符串加密#

字符串加密

https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3

#include <cctype>
#include <iostream>
#include <set>
#include <unordered_map>
#include <vector>
using namespace std;

int main() {
    set<char> tem;
    vector<char> dir(26);
    string s;
    string tosec;
    int count = 0;
    while(getline(cin,tosec)) { // 注意 while 处理多个 case
    getline(cin,s);
        for(int i=0;i<tosec.size();i++){
            tosec[i] = tolower(tosec[i]);
            if(tem.find(tosec[i])==tem.end()){
                tem.insert(tosec[i]);
                dir[count] = tosec[i];
                count++;
            }else{
                continue;
            }
        }
        for(int i = 0;i<26;i++){
            if(tem.find('a'+i)==tem.end()){
                tem.insert('a'+i);
                dir[count] = 'a'+i;
                count++;
            }else{
                continue;
            }
        }
        for(int i = 0;i<s.size();i++){
            if(s[i]>='a'&&s[i]<='z'){
                s[i] = dir[s[i]-'a'];
                continue;
            }
            if(s[i]>='A'&&s[i]<='Z'){
                s[i] = toupper(dir[s[i]-'A']);
                continue;
            }
        }
        cout<<s;
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

勤奋努力的椰子这就开摆:美团骑手在美团工作没毛病
投递美团等公司10个岗位
点赞 评论 收藏
分享
10-04 17:25
门头沟学院 Java
snqing:Java已经饱和了,根本不缺人。随便一个2000工资的都200人起投递
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务