Problem:
Hint:
- 先将所有字符都转化为大写
- 若两个字符串长度不相等,那么直接输出N
- 若两个字符串的长度相等的话,定义2个长度为26的int数组,数组的下标对应的是相应的字母---('字符'-65)就是数组的下标,之后遍历两个字符串就行,公式为:charA[字符串.charAt(i)-65]++
- 之后判断两个数组的每个字母个数是否全部相同就行
AcCode:
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String strA = in.next().toUpperCase();
String strB = in.next().toUpperCase();
int[] charA = new int[26];
int[] charB = new int[26];
if(strA.length()!=strB.length()) {
System.out.println("N");
}else {
for (int i = 0; i < strA.length(); i++) {
charA[strA.charAt(i)-65]++;
charB[strB.charAt(i)-65]++;
}
int i;
for (i = 0; i < charA.length; i++) {
if(charA[i]!=charB[i]) {
System.out.println("N");
break;
}
}
if(i==charA.length) {
System.out.println("Y");
}
}
}
}