1.题目描述:
给你两个字符串:ransomNote和magazine,判断ransomNote能不能由magazine里面的字符构成。如果可以,返回true;否则返回false。magazine中的每个字符只能在ransomNote中使用一次。
2.使用数组代替哈希表的功能:
与leetcode242. 有效的字母异位词基本一样。
class Solution {
public boolean canConstruct(String ransomNote, String magazine) {
if (ransomNote.length() > magazine.length()) return false;
int[] arr = new int[26];
for (int i = 0; i < magazine.length(); i++) {
arr[magazine.charAt(i) - 'a']++;
}
for (int i = 0; i < ransomNote.length(); i++) {
arr[ransomNote.charAt(i) - 'a']--;
}
for (int i = 0; i < arr.length; i++) {
if (arr[i] < 0) return false;
}
return true;
}
}