[leetcode]383. Ransom Note
Analysis
雨很大~—— [ummm~]
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.
给两个字符串,判断第一个字符串是否能由第二个字符串中的字符组成,注意第二个字符串中的每个字符只能用一次。
Implement
class Solution {
public:
bool canConstruct(string ransomNote, string magazine) {
int lenM = magazine.length();
int lenR = ransomNote.length();
vector<int> has(26, 0);
for(int i=0; i<lenM; i++)
has[magazine[i]-'a']++;
for(int i=0; i<lenR; i++){
if(has[ransomNote[i]-'a'] == 0)
return false;
has[ransomNote[i]-'a']--;
}
return true;
}
};