1.字符串长度是否相等
2.两个数组中,不同字母出现的次数要一致
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String s1=sc.next();
String s2=sc.next();
char[] c1=s1.toCharArray();
char[] c2=s2.toCharArray();
int flag=0;//flag=1时,输出no
int[] num1=new int[26];
int[] num2=new int[26];
if(s1.length()!=s2.length()) {//长度不等
flag=1;
}
//分别遍历两个字符数组,记录每个字母出现的次数,遇到一个就将其在num1或num2中的对应位置+1
for (int i = 0; i < c1.length; i++) {
num1[c1[i]-'A']++;
num2[c2[i]-'A']++;
}
//对两数组进行排序
Arrays.sort(num1);
Arrays.sort(num2);
if(!Arrays.equals(num1, num2)) {//若不等,返回NO
flag=1;
}
if(flag==1) {
System.out.println("NO");
}else {
System.out.println("YES");
}
}
}