LeetCode 771. 宝石与石头 | C++语言版
LeetCode 771. 宝石与石头
题目描述
题目地址:771. 宝石与石头
给你一个字符串 jewels 代表石头中宝石的类型,另有一个字符串 stones 代表你拥有的石头。 stones 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。
字母区分大小写,因此 “a” 和 “A” 是不同类型的石头。
解题思路
思路一:使用栈
代码实现
C++
class Solution {
public:
int numJewelsInStones(string jewels, string stones) {
int num=0;
//jewels = "aA", stones = "aAAbbbb" 输出:3
for(auto val:jewels){
//count函数:用于在一对迭代器中寻找指定值出现的次数(查找容器里从begin开始到end结束中元素val的个数)
num+=count(stones.begin(),stones.end(),val);
}
return num;
}
};
在这里插入代码片
运行结果
参考文章:
思路二:减少遍历节点数
代码实现
在这里插入代码片