View Code of Problem 22

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int arr[26];
vector<char> result;

void init() {
    for (int & i : arr) {
        i = 0;
    }
}

int main() {
    string str1;
    string str2;
    while (cin >> str1) {
        cin >> str2;
        init();
        result.clear();
        for (int i = 0; i < str1.length(); ++i) {
            if (arr[str1[i] - 'a'] == 0) {
                arr[str1[i] - 'a'] ++;
            }
        }
        for (int i = 0; i < str2.length(); ++i) {
            if (arr[str2[i] - 'a'] != 0) {
                result.push_back(str2[i]);
                arr[str2[i] - 'a'] = 0;
            }
        }
        sort(result.begin(),result.end());
        for (char i : result) {
            cout << i;
        }
        cout << endl;
    }
}

Double click to view unformatted code.


Back to problem 22