题目描述
如果两个单词的组成字母完全相同,只是字母的排列顺序不一样,则它们就是变位词,两个单词相同也被认为是变位词。如tea 与eat , nic 与cin, ddc与dcd, abc与abc 等。你的任务就是判断它们是否是变位词。
输入
第一行一个N,表示下面有N行测试数据。每行测试数据包括两个单词,如tea eat ,它们之间用空格割开
输出
对于每个测试数据,如果它们是变位词,输出Yes,否则输出No.
样例输入
3
tea eat
ddc cdd
dee dde
样例输出
Yes
Yes
No
我的代码
#include<stdio.h>
#include<string.h>
#include<stdbool.h>
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
char w1[1010];
char w2[1010];
scanf("%s %s",w1,w2);
int r1[26]={0};
int r2[26]={0};
for(int i = 0; i < strlen(w2); i++)
{
r1[w1[i]-'a']++;
r2[w2[i]-'a']++;
}
bool res = true;
for(int i = 0; i < 26; i++)
{
if(r1[i] != r2[i])
{
res = false;
break;
}
}
if(res)
{
printf("Yes\n");
}
else
{
printf("No\n");
}
}
return 0;
}