题目:383. 赎金信
由于此题只含有小写字母,并且magazine里面的字母不可重复使用.
故首先用一个长度为26的整形数组记录magazine里字母出现的次数。
再用这个整形数组跟ransomeNote进行遍历比较,当数组中出现-1时,说明false,否则true.
代码:
java
class Solution {
public boolean canConstruct(String ransomNote, String magazine) {
int[] tmp = new int[26];
//遍历magazine中的字符
for(int i=0;i<magazine.length();i++){
char ch = magazine.charAt(i);
tmp[ch-'a']++;
}
//遍历ransomNote中的字符
for(int i=0;i<ransomNote.length();i++){
char ch = ransomNote.charAt(i);
tmp[ch-'a']--;
if(tmp[ch-'a']<0){
return false;
}
}
return true;
}
}