哈希表
思路是构建长度为 26 的数组,遍历 magazine
的字符,并把出现的次数统计下来,即哈希表的 val
之后再遍历 ransomNote
的字符,将出现的字符在哈希表中的次数 -1
最后判断长度为 26 的数组中是否有 值 <1
的元素,如果有则说明无法构建,返回 false
class Solution {
public boolean canConstruct(String ransomNote, String magazine) {
int[] count = new int[26];
for (char c : magazine.toCharArray()) {
count[c - 'a'] += 1;
}
for (char c : ransomNote.toCharArray()) {
count[c - 'a'] -= 1;
}
for (int i = 0; i < 26; i++) {
if (count[i] < 0) {
return false;
}
}
return true;
}
}