给你一个字符串 jewels
代表石头中宝石的类型,另有一个字符串 stones
代表你拥有的石头。 stones
中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。
字母区分大小写,因此 "a"
和 "A"
是不同类型的石头。
示例 1:
输入:jewels = "aA", stones = "aAAbbbb" 输出:3
示例 2:
输入:jewels = "z", stones = "ZZ" 输出:0
提示:
1 <= jewels.length, stones.length <= 50
jewels
和stones
仅由英文字母组成jewels
中的所有字符都是 唯一的
解题思路:这个题就是将石头里的东西与宝石里面的东西一一对比,找出石头堆里面的宝石数量。关键就是把字符串里面的字符一个一个的提取出来,需要用到char ch=stringname.charAt(i);
Java代码:
class Solution {
public int numJewelsInStones(String jewels, String stones) {
int answer=0;
int len1=jewels.length();
int len2=stones.length();
for(int i=0;i<len2;i++){
char stone=stones.charAt(i);
for(int j=0;j<len1;j++){
char jewel=jewels.charAt(j);
if(stone==jewel){
answer++;
break;
}
}
}
return answer;
}
}
运行结果: