算法分析实验之变位词

题目描述

如果两个单词的组成字母完全相同,只是字母的排列顺序不一样,则它们就是变位词,两个单词相同也被认为是变位词。如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<iostream>
#include<string.h>
#include<sstream>
#include <algorithm>
using namespace std;
int main()
{
    int n;
    cin>>n;
    while(n--){
        string str1,str2;
        cin>>str1;
        cin>>str2;
        sort(str1.begin(),str1.end());
        sort(str2.begin(),str2.end());
        if(str1!=str2) cout<<"No"<<endl;
        else cout<<"Yes"<<endl;
    } 
    return 0;
 } 

 

posted @ 2020-05-31 16:14  Admin-2000  阅读(305)  评论(0编辑  收藏  举报