题目
思路
看石头里面有几个跟宝石长得一样
1.先遍历宝石,将宝石放到set集合中去
2.再遍历石头,运用Set的comtains()方法判断是set里面是否有和石头相对应的元素,将石头依次与宝石对比,相同则ret+1;
代码
//宝石与石头 力扣771
public int numJewelsInStones(String J, String S) {
//遍历宝石,将宝石放到set中去,
// 注意,是要看石头里面有多少个宝石,要在石头里找宝石,是将宝石存到set里去
Set<Character> set = new HashSet<>();
//toCharArray(),将字符串变为数组
for (char x:S.toCharArray()){
set.add(x);
}
//再遍历石头,判断石头是否在set(宝石)中出现,拿着石头跟宝石对比,看出现几次
int ret=0;
for (char y:J.toCharArray()){
//comtains()方法判断的是set里面是否有y对应的元素
if (set.contains(y)){
ret++;
}
}
return ret;
}