题目
You’re given strings J representing the types of stones that are jewels, and S representing the stones you have. Each character in S is a type of stone you have. You want to know how many of the stones you have are also jewels.
The letters in J are guaranteed distinct, and all characters in J and S are letters. Letters are case sensitive, so “a” is considered a different type of stone from “A”.
Example 1:
Input: J = "aA", S = "aAAbbbb"
Output: 3
Example 2:
Input: J = "z", S = "ZZ"
Output: 0
Note:
S and J will consist of letters and have length at most 50.
The characters in J are distinct.
代码
int numJewelsInStones(char* J, char* S) {
int count = 0;
int jlen=strlen(J);
int slen=strlen(S);
for(int i=0;i<jlen;i++){
for(int j=0;j<slen;j++){
if(S[j]==J[i]){
count++;
}
}
}
return count;
}
个人
开始时我按照note中给的长度不超多50来计算,导致结束符等被计入,输出结果错误,应该先利用函数得出长度,进而比较计数。