1. 程式人生 > >Leetcode771.Jewels and Stones寶石與石頭

Leetcode771.Jewels and Stones寶石與石頭

給定字串J 代表石頭中寶石的型別,和字串 S代表你擁有的石頭。 S 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。

J 中的字母不重複,J 和 S中的所有字元都是字母。字母區分大小寫,因此"a"和"A"是不同型別的石頭。

示例 1:

輸入: J = "aA", S = "aAAbbbb" 輸出: 3

示例 2:

輸入: J = "z", S = "ZZ" 輸出: 0

注意:

  • S 和 J 最多含有50個字母。
  •  J 中的字元不重複。

 

 

class Solution {
public:
    int numJewelsInStones(string J, string S)
    {
        int len1 = J.size();
        int len2 = S.size();
        if(len1 == 0 || len2 == 0)
            return 0;
        map<char, int> check;
        for(int i = 0; i < len1; i++)
        {
            check[J[i]]++;
        }
        int res = 0;
        for(int i = 0; i < len2; i++)
        {
            if(check[S[i]] > 0)
                res++;
        }
        return res;
    }
};