题目
给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。
如果可以,返回 true ;否则返回 false 。
magazine 中的每个字符只能在 ransomNote 中使用一次。
示例 1:
输入: ransomNote = "a", magazine = "b"
输出: false
题解
方式一:哈希表
public boolean canConstruct(String ransomNote, String magazine) {
int[] chars = new int[26]; // 也可以用map记录数量
for (char c: magazine.toCharArray()) {
chars[c - 'a']++;
}
for (char c: ransomNote.toCharArray()) {
chars[c - 'a']--;
if (chars[c - 'a'] < 0) {
return false;
}
}
return true;
}
总结
数据结构:哈希表