思路:记录magazine每个字符个数,然后记录ransomNote每个字符(每有一个减1),假如出现<0的情况说明ransomnode有字符的个数超过了magazine则无法构成,否则可以构成
代码:
class Solution {
public:bool canConstruct(string ransomNote, string magazine) {vector<int> 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; //否则可以构成}
};