383.赎金信
题目描述
题解
我的思路是将magazine这个字符串每个单词出现的次数统计出来,然后再用ransomNote那里去获取,如果出现负数,就返回false
class Solution {
public boolean canConstruct(String ransomNote, String magazine) {
int n1 = ransomNote.length(), n2 = magazine.length();
if (n1 == n2 && ransomNote.equals(magazine)) {
return true;
}
if (n1 > n2) {
return false;
}
int[] word = new int[26];
// 记录magazine每个单词的出现次数
for (int i = 0; i < n2; i++) {
char ch = magazine.charAt(i);
word[ch - 'a']++;
}
for (int i = 0; i < n1; i++) {
char ch = ransomNote.charAt(i);
if (--word[ch - 'a'] < 0) {
return false;
}
}
return true;
}
}