【算法07天:Day7】第三章哈希表 LeetCode 赎金信(383)

65 阅读1分钟

题目二:

image.png

解法一:(Map)

解题思路:这个题我是用两个Map,分别存储两个字符串各个字符出现的次数,然后判断A字符串中的字符数量是否都小于等于B字符串中的字符数量,因为题目要求每个字符只能使用一次,所以就需要判断数量了,A是否能由B内的字符构成,A各个字符数量一定是小于B各个字符数量。

注意先判断B中是否存在A中的字符,如果不存在就可以直接返回false了。

image.png

解法二:(数组)

同理Map方法。

image.png

image.png

image.png

解法三:(replace)

解题思路:

1. 遍历ransomNote,若ransomNote中的字符在magazine可以找到则替换掉生成新的magazine
2. 若ransomNote任意字符在magazine不存在则返回false,反之返回true

这个题,其实最开始我就想过用indexOf判断,但是没走通。或者可以使用includes判断,不存在就返回-1,存在就替换掉。

image.png