思路:利用一个数组保存第一个字符串中每个字母使用过的数目,遍历第二个字符串,如果某个字符的数目大于第一个则返回错误
bool canConstruct(char* ransomNote, char* magazine) {
int temp[26] = {0};
int subcript = 0;
int len = strlen(magazine);
for (int i = 0; i < len; i++){
subcript = magazine[i] - 'a';
temp[subcript]++;
}
len = strlen(ransomNote);
for (int i = 0; i < len; i++){
subcript = ransomNote[i] - 'a';
temp[subcript]--;
if (temp[subcript] < 0){
return false;
}
}
return true;
}