HJ36 字符串加密(find函数能用就用,string也可以push_back())

HJ36 字符串加密(find函数能用就用,string也可以push_back())_第1张图片

#include 
#include 
#include 
using namespace std;

bool find_char(char ch, string str){
    for(int i =0; i < str.size(); i++){
        if(str[i] == ch) return true;
    }
    return false;
}
int main() {
    string str = "abcdefghijklmnopqrstuvwxyz";
    string str1 = "abcdefghijklmnopqrstuvwxyz";
    string ming, mi;
    while (cin >> ming >> mi) { // 注意 while 处理多个 case
        // cout << a + b << endl;
    }
    //去重
    int arr[26] = {0};
    string tmp;
    for(int i = 0; i < ming.size(); i++){
        if(arr[ming[i] - 'a'] == 0){
            arr[ming[i] - 'a']++;
            tmp.push_back(ming[i]);
        }
    }
    ming = tmp;
    // cout << ming << endl;
    //明文替换
    for(int i = 0; i < ming.size(); i++){
        str1[i] = ming[i];
    }
    //剩余替换
    int length = ming.size();
    for(int i = 0; i < str.size(); i++){
        
        if(str1.substr(0, length).find(str[i]) == -1){
            //替换
            str1[length] = str[i];
            length++;
        } 
        
    }
    // cout << str << endl;
    // cout << str1 << endl;
    for(int i =0; i < mi.size(); i++){
        cout << str1[str.find(mi[i])] ;      
    }


}
// 64 位输出请用 printf("%lld")

你可能感兴趣的:(力扣,数据结构)