给定字符串J
代表是珠宝的石头类型,而S
代表你拥有的石头.S
中的每个字符都是你拥有的一个石头. 你想知道你的石头有多少是珠宝.
J
中的字母一定不同,J
和S
中的字符都是字母。 字母区分大小写,因此"a"
和"A"
是不同的类型.
样例
样例 1:
输入: J = "aA", S = "aAAbbbb"
输出: 3
样例 2:
输入: J = "z", S = "ZZ"
输出: 0
注意事项
S
和J
由字母组成且长度最大为50.J
中字符各不相同.
解题思路:
使用HashSet来存J中的不同字符。遍历S寻找出现在HashSet中的字符并统计。
public class Solution {
/**
* @param J: the types of stones that are jewels
* @param S: representing the stones you have
* @return: how many of the stones you have are also jewels
*/
public int numJewelsInStones(String J, String S) {
// Write your code here
Set<Character> set = new HashSet<>();
for(char c : J.toCharArray())
set.add(c);
int res = 0;
for(char c : S.toCharArray())
if(set.contains(c))
res++;
return res;
}
}