文章目录
- 1、题目描述
- [2、 代码](#2、 代码)
1、题目描述
赎金信,给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以,返回 true ;否则返回 false 。magazine 中的每个字符只能在 ransomNote 中使用一次。

2、 代码
python
class Solution:
def canConstruct(self, ransomNote: str, magazine: str) -> bool:
from collections import defaultdict
# 构造字典存储字符串的字母和数量
ref_dic = defaultdict(int)
for char in magazine:
ref_dic[char] +=1
# 遍历
for char in ransomNote:
if char in ref_dic:
ref_dic[char] -=1
# 如果减到0了,则需要彻底移除这个key
if ref_dic[char] == 0:
del ref_dic[char]
else:
return False
return True