题解 | #字符串加密#

字符串加密

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

#include <iostream>
#include <string>

using namespace std;


string GetEncryptionTable(const string key)
{
    string encryptionTable {};
    int table[26] {}; // 下标表示a~z
    string fkey {};
    // 按顺序添加key上的字母
    for (auto ch : key) {
        table[ch - 'a'] ++;
        if (encryptionTable.find(ch) == encryptionTable.npos) {
            encryptionTable += ch;
        }
    }
    // 按顺序添加没在key上的字母
    for (int i = 0; i < 26; i++) {
        if (table[i] == 0) {
            encryptionTable += char('a' + i);
        }
    }
    
    return encryptionTable;
}

int main()
{
    string key {};
    string str {};
    cin >> key >>str;
    
    string encryptionTable = GetEncryptionTable(key);
    string res = str;
    for (auto& ch : res) {
        ch = encryptionTable[ch - 'a'];
    }
    
    cout << res <<endl;
    

    return 0;
}
全部评论

相关推荐

抽纸大侠:抱抱😘,首先你还有春招,然后就算这时候没上岸也没关系,大部分人都是这样,毕业了再找也成,最后工作只是生活的一小部分,找到工作也不是一个必须的事情。不要气馁不要焦虑你只是陷入了短暂的低谷,你也一直有退路
点赞 评论 收藏
分享
04-14 12:52
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务