leetcode 383. 贖金信

給定一個贖金信 (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;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章