宝石与石头
链接:https://leetcode.cn/problems/jewels-and-stones/description/
给你⼀个字符串 jewels 代表石头中宝石的类型,另有⼀个字符串 stones 代表你拥有的石头。 stones 中每个字符代表了⼀种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。字母区分大小写,因此 “a” 和 “A” 是不同类型的石头。
意:给一个字符串,判断该字符串中字符在另一个字符串中相同字母的个数,并区分大小写.
输⼊:jewels = “aA”, stones = "aAAbbbb"输出:3
思路:
1. 定义⼀个变量n记录相同个数,并初始化为0;
2. 遍历字符串jewels中的每个字符.
3. 遍历字符串stones中的每个字符,如果在这个过程中找到了⼀个和当前字符相同的字符,则n的值++;
4. 循环结束,返回n值。
代码如下:
int numJewelsInStones(char * jewels, char * stones)
{
int n = 0;
//遍历jewels数组
while(*jewels)
{
//将stones指针重新赋值给cur指针
char* cur = stones;
//遍历stones数组
while(*cur)
{
//如果当前字符相同的字符,n的值++
if(*jewels == *cur)
n++;
cur++;
}
jewels++;
}
//返回n
return n;
}
标签:stones,字符,cur,宝石,++,jewels,石头,字符串
From: https://blog.csdn.net/m0_74074179/article/details/136998428