【力扣刷题】383. 赎金信-哈希表

给你两个字符串:ransomNote  magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。

如果可以,返回 true ;否则返回 false 

magazine 中的每个字符只能在 ransomNote 中使用一次。

 

示例 1:

输入:ransomNote = "a", magazine = "b"
输出:false

示例 2:

输入:ransomNote = "aa", magazine = "ab"
输出:false

示例 3:

输入:ransomNote = "aa", magazine = "aab"
输出:true

 

提示:

  • 1 <= ransomNote.length, magazine.length <= 105
  • ransomNote  magazine 由小写英文字母组成

 

class Solution {
public:
    bool canConstruct(string ransomNote, string magazine) {
        int h[26]={};
        for(char x:magazine){
            h[int(x-'a')]++;
        }
        for(char x:ransomNote){
            if(h[int(x-'a')]==0)return false;
            else h[int(x-'a')]--;
        }
        return true;
    }
};

 

版权声明:
作者:Zhang, Hongxing
链接:http://zhx.info/archives/424
来源:张鸿兴的学习历程
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录