原题链接:
最简单的Hash类型题,数组hash实现计数功能:
bool canConstruct(char* ransomNote, char* magazine) {
int a=strlen(ransomNote);
int b=strlen(magazine); //记录长度
if(a>b)
return false;
int hash[26];
memset(hash,0,sizeof(hash));//初始化hash
for(int i=0;i<b;i++){
hash[magazine[i]-'a']++; //杂志各字母个数
}
for(int i=0;i<a;i++){
if(--hash[ransomNote[i]-'a']<0)//需要的各字母个数
return false;
}
return true;
}