力扣383.赎金信 -- 哈希表

思路:记录magazine每个字符个数,然后记录ransomNote每个字符(每有一个减1),假如出现<0的情况说明ransomnode有字符的个数超过了magazine则无法构成,否则可以构成

力扣383.赎金信 -- 哈希表_第1张图片

代码:

class Solution {
public:
    bool canConstruct(string ransomNote, string magazine) {
        vector map(26);    //建立哈希表
        for(char s : magazine) map[s - 'a']++;  //先记录magazine的所有字符
        for(char s : ransomNote) if(--map[s - 'a'] < 0) return false;   //记录ransomnote的字符,每有一个减一,假如出现<0情况说明无法构成
        return true;    //否则可以构成
    }
};

你可能感兴趣的:(力扣刷题笔记,leetcode,散列表,算法,c++,数据结构)