问题描述
Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。
输入格式:输入有两行,分别为两个单词。
输出格式:输出只有一个字母Y或N,分别表示Yes和No。
输入输出样例
样例输入
Unclear
Nuclear
样例输出
Y
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String str1=sc.nextLine();
String str2=sc.nextLine();
str1=str1.toLowerCase();
str2=str2.toLowerCase();
if(str1.length()!=str2.length()){ //首先判断两个字符串长度是否相等,不相等直接返回
System.out.println("N");
return;
}
int[] a=new int[26];
int[] b=new int[26];
for(int i=0;i<str1.length();i++){ //两个字符串长度相等
int n=str1.charAt(i)-'a';
int m=str2.charAt(i)-'a';
a[n]++;//将单词按顺序拿出来放到数组里
b[m]++;
}
for(int i=0;i<26;i++){
if(a[i]!=b[i]){ //比较对应位置上的字母是否一致
System.out.println("N");
return;
}
} System.out.println("Y");
}
}