构建短字符串
题目描述
给定任意一个较短的子串,和另一个较长的字符串,判断短的字符串是否能够由长字符串中的字符构建出来,且长串中的每个字符只能用一次。
输入描述:
一行数据包括一个较短的字符串S和一个较长的字符串T,用一个空格分隔。保证1<=|S|<=|T|<=100000。
输出描述:
如果短的字符串可以由长字符串中的字符构建出来,输出字符串 “true”,否则输出字符串 “false”。
解题思路
略
代码
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main{
public static void main(String[] args)throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] s = br.readLine().split(" ");
String s1 = s[0];
String s2 = s[1];
int[] count = new int[26];
for(int i=0;i<s2.length();i++){
count[s2.charAt(i)-'a']++;
}
for(int i=0;i<s1.length();i++){
count[s1.charAt(i)-'a']--;
}
for(int i:count){
if(i<0){
System.out.println(false);
return;
}
}
System.out.println(true);
}
}