383.赎金信
思路:
看到全是小写字母可以使用数组。
- new int[26]数组,存放的时候下标就为 ransomNote.charAt(i) - ‘a’ 这样的
- 先把ransomNote 的每个字符放进数组,对应的数组元素就+1
- 遍历magazine,对应的数组元素-1
- 遍历数组,若有元素 > 0,则返回false。若一直没有返回false,就返回true
代码实现:
class Solution {
public boolean canConstruct(String ransomNote, String magazine) {
int[] record = new int[26];
for (int i = 0; i < ransomNote.length(); i++) {
record[ransomNote.charAt(i) - 'a']++;
}
for (int i = 0; i < magazine.length(); i++) {
record[magazine.charAt(i) - 'a']--;
}
for (int count : record) {
if (count > 0) return false;
}
return true;
}
}