使用vis数组标记相应字母是否是宝石
1.遍历jewels数组,标记相应字母(即使vis数组相应位置为1)
2.遍历stones数组,判断是否是宝石(即vis数组相应位置是否为1)
int numJewelsInStones(string jewels, string stones) {
int m=jewels.size();
int n=stones.size();
if(m==0){
return 0;
}
int res=0;
int vis[100]={0};
for(int i=0;i<m;i++){
int tmp=jewels[i]-'A';
vis[tmp]=1;
}
for(int i=0;i<n;i++){
int tmp=stones[i]-'A';
if(vis[tmp]==1){
res++;
}
}
return res;
}
测试结果