题目要求
解题思路
感谢欧巴给我的思路~
LinkedList增删都很方便,所以很符合思路。
将String类型的字符串通过split函数中传入“”,拆分成数组,传给LinkedList的addAll函数,该函数会依次将数组中的元素加入LinkedList中。
循环a1中的字母,在b1中删除该字母,如果没找到,直接N,找到就继续循环。
循环结束后判断b1的size是否为空,如果为空,就是都删干净了,返回Y,不为空,N。
import java.util.Arrays;
import java.util.LinkedList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
String a = in.next().toLowerCase(); //两个字符串转成小写
String b = in.next().toLowerCase();
LinkedList<String> a1 = new LinkedList<>(); // 将字符串拆分成数组,依次加入linkedlist中
a1.addAll(Arrays.asList(a.split("")));
LinkedList<String> b1 = new LinkedList<>();
b1.addAll(Arrays.asList(b.split("")));
for (int i = 0; i < a1.size(); i++) {
if (!b1.remove(a1.get(i))) { // 如果b中存在a中的元素,就删掉,如果不存在就返回N
System.out.println("N");
return;
}
}
if (b1.size() == 0) System.out.println("Y"); // 判断b最后是不是空
else System.out.println("N");
}
}