給定一個贖金信 (ransom) 字符串和一個雜誌(magazine)字符串,判斷第一個字符串ransom能不能由第二個字符串magazines裏面的字符構成。如果可以構成,返回 true ;否則返回 false。
(題目說明:爲了不暴露贖金信字跡,要從雜誌上搜索各個需要的字母,組成單詞來表達意思。)
注意:
你可以假設兩個字符串均只含有小寫字母。
canConstruct("a", "b") -> false
canConstruct("aa", "ab") -> false
canConstruct("aa", "aab") -> true
方法:統計每個字符出現的次數
class Solution {
public boolean canConstruct(String ransomNote, String magazine) {
int num[] = new int[26];
for(int i = 0; i < magazine.length(); i++){
num[magazine.charAt(i) - 'a']++;
}
for(int i = 0; i < ransomNote.length(); i++){
if(num[ransomNote.charAt(i) - 'a'] == 0)
return false;
num[ransomNote.charAt(i) - 'a']--;
}
return true;
}
}