class Solution {
public:
bool canConstruct(string ransomNote, string magazine) {
int r[26] = {0};
int m[26] = {0};
for (int i = 0; i < magazine.length(); i++) {
m[magazine[i] - 'a'] ++;
}
for (int i = 0; i < ransomNote.length(); i++) {
m[ransomNote[i] - 'a']--;
if (m[ransomNote[i] - 'a'] < 0)
return false;
}
return true;
}
};
总结
- 做过相似的一题
- 这种26个字母的题目都可以用数组表示map来解决