题目描述:给定J、S两个字符串,J中每个字符各不相同,S中字符可以相同,两个字符串都区分大小写。要求统计并返回S中所有出现在J中的字符串的个数。
代码实现:https://github.com/William0423/Leetcode/blob/master/java/src/string/JewelsAndStones.java
说明:类中一共列出了四种实现,第二、第三种实现借助Java的API。
拓展:在第三种实现中,使用了Java字符串的indexOf方法,关于这个方法的使用,参考《Understanding the Java String IndexOf Method》这篇文章。在追问它的具体时,发现其内部使用了时间复杂度为O(n*m)的算法,而不是KPM算法,知乎上有一篇类似的解释文章:《为什么java String.contains 没有使用类似KMP字符串匹配算法进行优化?》作参考。