bool canConstruct(char* ransomNote, char* magazine) {
int len1=strlen(ransomNote);
int len2=strlen(magazine);
int abc[26]={0};
if (len1>len2){
return false;
}
int i=0;
int j=0;
int k=0;
int l=0;
while (i<len2){
k=magazine[i]-'a';
abc[k]++;
i++;
}
while (j<len1){
l=ransomNote[j]-'a';
abc[l]--;
if (abc[l]<0){
return false;
}
j++;
}
return true;
}
string类问题,如果是统计字母个数相关的,巧妙的方法是创建一个长度为26的数组,然后遍历string,相应字母++。