难度简单266收藏分享切换为英文接收动态反馈
给你两个字符串: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
class Solution(object):
def canConstruct(self, ransomNote, magazine):
"""
:type ransomNote: str
:type magazine: str
:rtype: bool
"""
lst_hash = [0] * 26 # 26字母的数组哈希表
for v in magazine:
lst_hash[ord(v)-ord("a")] += 1 # magazine中字母个数
for v in ransomNote:
if lst_hash[ord(v)-ord("a")] == 0:
return False
else:
lst_hash[ord(v)-ord("a")] -= 1
return True
提示:
1 <= ransomNote.length, magazine.length <= 105
ransomNote
和magazine
由小写英文字母组成