changeword

思路:

创建两个数组,每个数组都对应26个字母, 所以,我们只需将输入的两个字符串中的字母放到提前创建好的数组中, 最后再判断这两个数组中的每一位是否相同,就可以判断出是否为变位词

#include<iostream>
#include<cstring> 
using namespace std;
int main(){
    int n,i;
    char a[100],b[100];
    cin>>n;
    for(i=0;i<n;i++){
        cin>>a>>b;
        int f=strlen(a);
        int l=strlen(b);
        int flag=0;
        int d[26]={0},h[26]={0};
        if(f!=l) cout<<"No"<<endl;
        else{
            for(int j=0;j<f;j++){
                d[a[j]-'a']++;
                h[b[j]-'a']++;
            }
            for(int j=0;j<26;j++){
                if(d[j]!=h[j])
                flag++;
            }
            if(flag>0)
            cout<<"No"<<endl;
            else cout<<"Yes"<<endl;
        } 
    }
    return 0;
}

results matching ""

    No results matching ""