文章
79
粉丝
221
获赞
46
访问
202.2k
#include <iostream>
#include <string>
using namespace std;
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {
string s1,s2;
cin >> s1 >> s2;
int a[26] = { 0 }, b[26] = { 0 };
for (int i = 0; i < s1.size(); i++)
a[s1[i] - 'a']++;
int flag = 0;
for (int i = 0; i < s2.size(); i++)
b[s2[i] - 'a']++;
for(int i=0;i<26;i++)
if (a[i] != b[i]) {
flag = 1;
break;
}
if (flag == 0)
cout << "Yes" << endl;
else
cout << "No" << endl;
}
return 0;
}
思路:
采用两个字典a与b,遍历字符串s1与s2上的每个字符,将其各自的每种字符的个数都添加到字典中。
比较两字典内的各个字符数量是否相等,若相等则s2是s1的变位词,不等则不是。
登录后发布评论
暂无评论,来抢沙发