原题链接
- 将magazine中的元素加入到temp数组中,统计杂志字符串出现的次数
- 判断ransomNote在temp数组中的值是否是大于0的,若是的话则执行arr[temp]–,因为每个字符只能使用一次;反之,说明ransomNote中的字母没有出现在magazine中过,则返回false
- 二刷:在计算每个字符的在数组中的下标的时候,要使用 magazine.charAt(i) - ‘a’ 的形式。而不是只加 charAt(i)
class Solution {
public boolean canConstruct(String ransomNote, String magazine) {
int[] arr = new int[26];
int temp = 0;
for(int i = 0; i < magazine.length(); i++){
temp = magazine.charAt(i) - 'a';
arr[temp]++;
}
for(int i = 0; i < ransomNote.length(); i++){
temp = ransomNote.charAt(i) - 'a';
if(arr[temp] > 0){
arr[temp]--;
}else{
return false;
}
}
return true;
}
}