c++:
class Solution {
public:
bool canConstruct(string ransomNote, string magazine) {
int record[26] = {};
for(int i = 0; i < magazine.size();i++){
// 通过recode数据记录 magazine里各个字符出现次数
record[magazine[i] - 'a']++;
}
for(int i = 0; i < ransomNote.size();i++){
// 遍历ransomNote,在record里对应的字符个数做--操作
record[ransomNote[i] - 'a']--;
// 如果小于零说明ransomNote里出现的字符,magazine没有
if(record[ransomNote[i] - 'a'] < 0){
return false;
}
}
return true;
}
};
go:
func canConstruct(ransomNote string, magazine string) bool {
record := make([]int,26)
for _,v := range magazine{
record[v - 'a']++
}
for _,v := range ransomNote{
record[v - 'a']--
if(record[v - 'a'] < 0){
return false
}
}
return true
}