Given an arbitrary ransom note string and another string containing letters from all the magazines, write a function that will return true if the ransom note can be constructed from the magazines ; otherwise, it will return false.
Each letter in the magazine string can only be used once in your ransom note.
class Solution {
public:
bool canConstruct(string ransomNote, string magazine) {
int buffer1[128] = {0};
int buffer2[128] = {0};
for(int i=0;i<ransomNote.size();i++) buffer1[ransomNote[i]] += 1;
for(int i=0;i<magazine.size();i++) buffer2[magazine[i]] += 1;
for(int i=0;i<128;i++){
if(buffer1[i] > buffer2[i]) return false;
}
return true;
}
};