问题描述
Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,Unclear和Nuclear、Rimon和MinOR都是Anagrams。
编写一个程序,输入两个单词(只包含英文字母,且每一个单词的长度不会超过80个字符),判断这两个单词是否是Anagrams,如果是则输出“yes”,否则输出“no”。
样例输入
Unclear Nuclear
样例输出
yes
题解
#include<iostream>
#include<string>
using namespace std;
const int N=1000;
int main()
{
string s1,s2;
cin>>s1>>s2;
int a[N]={0};
int b[N]={0};
for(int i=0;i<s1.length();i++)
{
s1[i]=tolower(s1[i]);
}
for(int i=0;i<s2.length();i++)
{
s2[i]=tolower(s2[i]);
}
for(int i=0;i<s1.length();i++)
{
a[s1[i]]++;
}
for(int i=0;i<s2.length();i++)
{
b[s2[i]]++;
}
int flag=1;
for(int i=97;i<=122;i++)
{
if(a[i]!=b[i]) flag=0;
}
if(flag==1) cout<<"yes";
else cout<<"no";
}