宝石与石头

这篇文章介绍了如何使用编程解决LeetCode题目,通过比较两个字符串jewels和stones中字符的匹配情况,计算stones中宝石(不区分大小写)的个数。主要展示了遍历和字符比较的算法实现。
摘要由CSDN通过智能技术生成

宝石与石头

链接: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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值