给定字符串 J
代表你现在拥有代表宝石的类型,和字符串 S
代表你拥有的石头。S
中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。
J
中的字母不重复,J
和 S
中的所有字符都是字母。字母区分大小写,因此"a"
和"A"
是不同类型的石头。
示例1
输入:
J = "aA", S = "aAAbbbb"
输出:3
#include <iostream>
#include <string>
using namespace std;
int numJewelsInStones(string J, string S);
class Solution {
public:
int numJewelsInStones(string J, string S) {
int i = 0;
for (int j = 0; j < J.length(); j++) {
for (int s = 0; s < S.length(); s++) {
if (J[j] == S[s]) i++;
}
}
return i;
}
};
void main()
{
string BS ,ST ;//初始化问题?
int count = 0;
Solution So;
cout << "输入代表宝石的string:" << endl;
cin >> BS;
cout << "输入代表石头的string:" << endl;
cin >> ST;
count = So.numJewelsInStones(BS,ST);
cout << "石头ST中的宝石BS个数是" << count << endl;
}
注意:
关于string的初始化不用NULL;