题目二:
解法一:(Map)
解题思路:这个题我是用两个Map,分别存储两个字符串各个字符出现的次数,然后判断A字符串中的字符数量是否都小于等于B字符串中的字符数量,因为题目要求每个字符只能使用一次,所以就需要判断数量了,A是否能由B内的字符构成,A各个字符数量一定是小于B各个字符数量。
注意先判断B中是否存在A中的字符,如果不存在就可以直接返回false了。
解法二:(数组)
同理Map方法。
解法三:(replace)
解题思路:
1. 遍历ransomNote,若ransomNote中的字符在magazine可以找到则替换掉生成新的magazine
2. 若ransomNote任意字符在magazine不存在则返回false,反之返回true
这个题,其实最开始我就想过用indexOf判断,但是没走通。或者可以使用includes判断,不存在就返回-1,存在就替换掉。