题目:
You’re given strings J representing the types of stones that are jewels, and S representing the stones you have. Each character in S is a type of stone you have. You want to know how many of the stones you have are also jewels.
The letters in J are guaranteed distinct, and all characters in J and S are letters. Letters are case sensitive, so “a” is considered a different type of stone from “A”.
Example 1:
Input: J = “aA”, S = “aAAbbbb”
Output: 3
Example 2:
Input: J = “z”, S = “ZZ”
Output: 0
Note:
S and J will consist of letters and have length at most 50.
The characters in J are distinct.
题目大意:
给定两个字符串J和S,J字符串中的字母代表珠宝,S代表你拥有的石头类型。
J中每个字符都是独一无二的,S和J中都只有字母,并且大小写敏感。
解题思路:
统计J中出现的字母,存入到一个整型数组中。
遍历S字符串,判断当前字符是否在整型数组中出现。
代码:
class Solution {
public:
int numJewelsInStones(string J, string S) {
int my[256] = {0};
int result = 0;
for( int i = 0 ; i < J.size() ; ++ i )
my[J[i]] ++;
for( int i = 0 ; i < S.size() ; ++ i ){
if( my[S[i]] > 0 )
++ result;
}
return result;
}
};