确定字符串是否是另一个的排列
题目描述
实现一个算法来识别一个字符串 𝑠𝑡𝑟2str2 是否是另一个字符串 𝑠𝑡𝑟1str1 的排列。排列的解释如下:如果将 𝑠𝑡𝑟1str1 的字符拆分开,重新排列后再拼接起来,能够得到 𝑠𝑡𝑟2str2 ,那么就说字符串 𝑠𝑡𝑟2str2 是字符串 𝑠𝑡𝑟1str1 的排列。(不忽略大小写)
如果 𝑠𝑡𝑟2str2 字符串是 𝑠𝑡𝑟1str1 字符串的排列,则输出 YES
;如果 𝑠𝑡𝑟2str2 字符串不是 𝑠𝑡𝑟1str1 字符串的排列,则输出 NO
;
输入描述
第一行为字符串𝑠𝑡𝑟1str1;
第二行为字符串𝑠𝑡𝑟2str2;
字符串长度均不超过 100。
输出描述;
输出一行,如果 𝑠𝑡𝑟2str2 字符串是 𝑠𝑡𝑟1str1 字符串的排列,则输出 YES
;
如果 𝑠𝑡𝑟2str2 字符串不是 𝑠𝑡𝑟1str1 字符串的排列,则输出 NO
;
输入输出样例
示例
输入
acb
bac
输出
YES
代码实现:
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
String[] a = scan.next().split("");
String[] b = scan.next().split("");
boolean f = true;
for(int i = 0; i < a.length; i++){
for(int j = 0; j < b.length; j++){
if(a[i].equals(b[j])){
b[j] = "0"; //将已比较相同的字符串转化为0
break;
}
if(j == b.length - 1){
f = false;
}
}
}
if(f){
System.out.println("YES");
}else{
System.out.println("NO");
}
scan.close();
}
}