做点简单题换换脑子()
题目描述
实现一个算法来识别一个字符串 𝑠𝑡𝑟2str2 是否是另一个字符串 𝑠𝑡𝑟1str1 的排列。排列的解释如下:如果将 𝑠𝑡𝑟1str1 的字符拆分开,重新排列后再拼接起来,能够得到 𝑠𝑡𝑟2str2 ,那么就说字符串 𝑠𝑡𝑟2str2 是字符串 𝑠𝑡𝑟1str1 的排列。(不忽略大小写)
如果 𝑠𝑡𝑟2str2 字符串是 𝑠𝑡𝑟1str1 字符串的排列,则输出 YES
;如果 𝑠𝑡𝑟2str2 字符串不是 𝑠𝑡𝑟1str1 字符串的排列,则输出 NO
;
输入描述
第一行为字符串𝑠𝑡𝑟1;
第二行为字符串𝑠𝑡𝑟2;
字符串长度均不超过 100。
输出描述;
输出一行,如果 𝑠𝑡𝑟2str2 字符串是 𝑠𝑡𝑟1str1 字符串的排列,则输出 YES
;
如果 𝑠𝑡𝑟2str2 字符串不是 𝑠𝑡𝑟1str1 字符串的排列,则输出 NO
;
输入输出样例
输入
abc
cba
输出
YES
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
思路:这个题目应该只是判断两个单词有没有的字母是否相同(字数什么的就没管了),直接对单词进行排序然后比较就行,我是这样理解的
import java.util.Scanner;
import java.util.Arrays;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
String[] str1 = scan.nextLine().split("");
String[] str2 = scan.nextLine().split("");
scan.close();
Arrays.sort(str2);
Arrays.sort(str1);
int i = 0;
for(;i < str1.length;i++)
{
if(!str2[i].equals(str1[i]))
{
System.out.print("NO");
break;
}
}
if(i == str1.length)
{
System.out.print("YES");
}
}
}