771. 宝石与石头(leetcode)

给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。

J 中的字母不重复,JS中的所有字符都是字母。字母区分大小写,因此"a""A"是不同类型的石头。

示例 1:

输入: J = “aA”, S = “aAAbbbb”
输出: 3

示例 2:

输入: J = “z”, S = “ZZ”
输出: 0

注意:

  • SJ 最多含有50个字母。
  • J 中的字符不重复。

思路:
遍历J中每一个宝石, 用string类自带的find()来查找并计数在S中的出现.

题解:

class Solution {
public:
    int numJewelsInStones(string J, string S) {
        int sum, index;
        sum = 0;
        for (auto x: J) {
            index = 0;
            while ((index=S.find(x, index))<S.length()) {
                sum++;
                index++;
            }
        }
        return sum;
    }
};

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/jewels-and-stones

发布了34 篇原创文章 · 获赞 0 · 访问量 667

猜你喜欢

转载自blog.csdn.net/acticn/article/details/103903688