Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,Unclear和Nuclear、Rimon和MinOR都是Anagrams。编写一个程序,输入两个单词(只包含英文字母),然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。
#include <iostream>
#include <cctype>
using namespace std;
bool isAnagrams(string a,string b){
if( a.length() != b.length()) return false;
int c[27]={};
for(int i=0; i<a.length(); i++){
c[toupper(a[i])-'A']++;
c[toupper(b[i])-'A']--;
}
for(int i=0; i<26; i++)
if(c[i]) return false;
return true;
}
int main(int argc, char** argv) {
string a, b;
cin>> a>> b;
if(isAnagrams(a,b)) {
cout<< "yes"<< '\n';
}else{
cout<< "no"<< '\n';
}
return 0;
}