771. Jewels and Stones (宝石和石头)
1. 题目翻译
给定字符串J代表宝石,S代表你有的石头。你需要直到你拥有的石头中,有多少宝石。字符串J中的字符保证是唯一的。字符串J与S中的字符都是字母,并且区分大小写。
例子:
输入: J = "aA", S = "aAAbbbb"
输出: 3
输入: J = "z", S = "ZZ"
输出: 0
2. 解题方法
将J中的字符保存到一个set中,遍历J字符串,如果set中有总数就加1。
3. 代码
//Runtime: 12ms
class Solution {
public:
int numJewelsInStones(string J, string S) {
set<char> mapping;
for(int i =0;i<J.size();i++)
mapping.insert(J[i]);
int count = 0;
for(int i=0;i<S.size();i++)
if(mapping.find(S[i])!=mapping.end())
count++;
return count;
}
};