题目链接如下:
我的代码如下:
#include <cstdio>
#include <string.h>
#include <vector>
#include <algorithm>
const int maxx = 101;
const int sz = 26;
char a[maxx], b[maxx];
int len;
int mp1[sz], mp2[sz];
int main(){
while(scanf("%s %s", a, b) == 2){
len = strlen(b);
std::vector<int> v1, v2;
std::fill(mp1, mp1 + sz, 0);
std::fill(mp2, mp2 + sz, 0);
for(int i = 0; i < len; ++i){
mp1[a[i] - 'A']++;
mp2[b[i] - 'A']++;
}
for(int i = 0; i < sz; ++i){
v1.push_back(mp1[i]);
v2.push_back(mp2[i]);
}
sort(v1.begin(), v1.end());
sort(v2.begin(), v2.end());
printf("%s\n", v1 == v2 ? "YES" : "NO");
}
return 0;
}