给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。
如果可以,返回 true ;否则返回 false 。
magazine 中的每个字符只能在 ransomNote 中使用一次
思路:26个字母,创建一个数字数组,存放每个字母出现的次数,每使用一次–即可
class Solution {
public:
bool canConstruct(string ransomNote, string magazine) {
int arr[30]={0};
if(ransomNote.size()>magazine.size())
{
return false;
}
for(int i=0;i<magazine.size();i++)
{
arr[magazine[i]-'a']++;
}
for(int i=0;i<ransomNote.size();i++)
{
arr[ransomNote[i]-'a']--;
if(arr[ransomNote[i]-'a']<0)
{
return false;
}
}
return true;
}
};