LeetCode 宝石与石头( C语言版 )

题目描述:

给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。

 J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。

 示例 1:   输入: J = "aA", S = "aAAbbbb"      输出: 3

 示例 2:   输入: J = "z", S = "ZZ"            输出: 0

注意:

 S 和 J 最多含有50个字母。
 J 中的字符不重复。

简洁的思路:
此问题为字符串的问题,我们依次判断J中的每个字符在S中出现几次。
故用两个for循环嵌套就可以完成,依次比较两个字符串中的每个字符。
注:区分大小写,即“z”与“Z”不同。

代码如下:

int numJewelsInStones(char* J,char* S) {
    int i,j,count=0;
    for(i=0;i<strlen(J);i++){
        for(j=0;j<strlen(S);j++){
            if(J[i]==S[j]){
                count++;
            }
        }
    }
            return count;
}
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页