Leetcode771. 宝石与石头

771. 宝石与石头

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

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

题意概述:

说人话就是计算组成字符串1的字符在字符串2中出现的次数。

解题报告:

对组成字符串1的所有字符做一个map映射,再遍历字符串2的所有字符进行判断。

class Solution {
public:
    int numJewelsInStones(string jewels, string stones) {
        map<char,bool> mapp;
        int ans=0;
        for (int i=0;i<jewels.size();i++)
            mapp[jewels[i]]=true;
        for (int i=0;i<stones.size();i++)
            if (mapp[stones[i]]) ans++;
        return ans;
    }
};
posted @ 2021-08-08 11:39  dinghao1262  阅读(25)  评论(0)    收藏  举报